作曲家 - 在开发中安装本地包,但出现依赖项错误



我在作曲器中使用path有本地存储库包,它们仍在开发中。问题是,它给了我一个安装它的错误。

错误信息:

加载包含包信息的
作曲家存储库 更新依赖项(包括 require-dev)
您的要求无法解析为一组可安装的包。

问题1:

  • 供应商/软件包 B * -> 的安装请求可由供应商/软件包 B[dev-master] 满足。
  • 供应商/包B 开发大师需要供应商/包开发大师 ->找不到匹配的包。

潜在原因:

  • 包名称中的拼写错误
  • 根据您的最低稳定性设置,该软件包没有足够稳定的版本

所以为了解释我所拥有的,请考虑一下。

第一个包安装称为包 A 的依赖项。每件事都按预期工作。 请参阅下面的composer.json文件摘录:

[
"name": "vendor/packageB",
"repositories": [
{
"type": "path",
"url": "/vendor/packageA/"
}
],
"require": {
"vendor/packageA": "*"
},
"minimum-stability": "dev"
]

第二个包,我想安装包B及其依赖项(在本例中为包A)。这是在这里它给出了一个错误。 请参阅下面的composer.json文件摘录:

[
"name": "vendor/packageC",
"repositories": [
{
"type": "path",
"url": "/vendor/packageB/"
}
],
"require": {
"vendor/packageB": "*"
},
"minimum-stability": "dev"
]

可能无法在作曲器中使用本地开发依赖项,目前我不太清楚。

所以,我的怀疑是,这与以下方面有关:

">
  • 最小稳定性",可能是因为这都是"开发"?
  • 还是因为我使用的是本地软件包(不在 packagist 或 github 上)?
  • 还是其他东西(除了错别字:))?

当我放置包A时,我已经设法安装了它,也作为包B的依赖项。这是我发现它起作用的唯一方法。

感谢您的任何帮助!

此问题在作曲家常见问题解答中进行了描述。 https://getcomposer.org/doc/faqs/why-can't-composer-load-repository-recursively.md

在您的情况下,这意味着packageC的 composer.json 必须包含在哪里可以找到packageA存储库的信息:

[
"name": "vendor/packageC",
"repositories": [
{
"type": "path",
"url": "/vendor/packageB/"
},
{
"type": "path",
"url": "/vendor/packageA/"
}
],
"require": {
"vendor/packageB": "*"
},
"minimum-stability": "dev"
]

相关内容

  • 没有找到相关文章

最新更新