当前位置: 首页 > 知识库问答 >
问题:

Composer不会安装私有包依赖项

韩刚洁
2023-03-14

首先,有一些相关的帖子并不真正适合我的问题。

  • Composer不会安装依赖项

还有一些。

我有一个Symfony项目,其中包含一些私人包。这些是风投公司参考的:

"repositories": [
    {
        "type": "vcs",
        "url": "git@aaaaa.git"
    },
    {
        "type": "vcs",
        "url": "git@xxxxx.git"
    },
    {
        "type": "vcs",
        "url": "git@yyyyy.git"
    }
],

这和预期的一样。但是,私有包yyy引用了另一个私有包(我们称之为sub-yyy),它也由package composer.json文件中的类型vcs引用。

如果我运行作曲家安装失败与消息:

问题1-yyyy的安装请求-

潜在原因:

  • 包名中的一个错别字
  • 根据您的最小稳定性设置,该包没有足够稳定的版本,请参阅https://getcomposer.org/doc/04-schema.md#minimum-stability了解更多详细信息。
  • 这是一个私人包,你忘了添加一个自定义存储库来查找它

私有包(sub-yyyy)ist由v1.0.0标记,如果它在主项目的composer.json文件中,则可以安装。

主要项目的composer.json(需要删减):

{
    "name": "main/project",
    "license": "proprietary",
    "type": "project",
    "prefer-stable": true,
    "repositories": [
        {
            "type": "vcs",
            "url": "git@aaaaa.git"
        },
        {
            "type": "vcs",
            "url": "git@xxxxx.git"
        },
        {
            "type": "vcs",
            "url": "git@yyyyy.git"
        }
    ],
}

yyyy包的composer.json:

{
  "name": "yyyy",
  "type": "symfony-bundle",

  "require": {
    "sub-yyyy": "^1.0.0"
  },

  "repositories": [
    {
      "type": "vcs",
      "url": "git@sub-yyyy.git"
    }
  ],
  "minimum-stability": "dev",
}

当我安装引用sub-yyyyyyyy包时,有什么想法来解决这个问题吗?

共有1个答案

欧阳勇军
2023-03-14

您必须将存储库条目添加到主项目中的包sub-yyyy中,因为依赖项不是可传递的。

从文档

存储库不是递归解析的。您只能将它们添加到主composer.json中。忽略依赖项的composer.json的存储库声明。

主项目的composer.json应该如下所示

{
    "name": "main/project",
    "license": "proprietary",
    "type": "project",
    "prefer-stable": true,
    "repositories": [
        {
            "type": "vcs",
            "url": "git@aaaaa.git"
        },
        {
            "type": "vcs",
            "url": "git@xxxxx.git"
        },
        {
            "type": "vcs",
            "url": "git@yyyyy.git"
        },
        {
            "type": "vcs",
            "url": "git@sub-yyyy.git"
        }
    ]
}
 类似资料:
  • 我已经创建了作曲家包,composer.json是 现在,当我安装 包,我需要那个作曲家安装所有需要的包: 但它没有安装它。 我尝试作曲家更新,作曲家安装。有人能帮忙吗? C项目omposer.json看起来像 我能做的是,作曲家自动安装所有软件包所需的依赖项????谢谢你的建议。

  • cp/var/ww/html/config.inc.php.dist/var/ww/html/config.inc.php 未安装。 DockerFile:

  • If you have just checked out a package from version control, you will need to install those dependencies. If you are adding dependencies for your project, then those dependencies are automatically ins

  • 问题 你想要安装一个第三方包,但是没有权限将它安装到系统Python库中去。 或者,你可能想要安装一个供自己使用的包,而不是系统上面所有用户。 解决方案 Python有一个用户安装目录,通常类似”~/.local/lib/python3.3/site-packages”。 要强制在这个目录中安装包,可使用安装选项“–user”。例如: python3 setup.py install --user

  • react安装依赖包报如下图 大佬们这该怎么解决这个问题呢

  • 安装 安装该软件:yum install -y yum-plugin-downloadonly 以下载 openssh-server 为例: yum install -y openssh-server --downloadonly --downloaddir=/opt/ssh 在 /opt/ssh 目录下有如下内容: -rw-r--r--. 1 root root 280524 Aug 13 2