Composer php Composer-在开发中安装本地包时出现依赖项错误

Composer php Composer-在开发中安装本地包时出现依赖项错误,composer-php,Composer Php,我在composer中使用path提供了本地存储库包,它们仍在开发中。问题是,它给了我一个安装错误 错误消息: 正在加载包含包信息的composer存储库 更新依赖项(包括要求开发人员) 无法将您的需求解析为可安装的软件包集 问题1: 供应商/软件包B的安装请求*->供应商/软件包B可满足[dev master] 供应商/packageB开发主机需要供应商/packageA开发主机->未找到匹配的软件包 潜在原因: 软件包名称中的输入错误 根据您的最低稳定性设置,该软件包没有足够稳定的版本

我在composer中使用path提供了本地存储库包,它们仍在开发中。问题是,它给了我一个安装错误

错误消息:

正在加载包含包信息的composer存储库
更新依赖项(包括要求开发人员)
无法将您的需求解析为可安装的软件包集

问题1:

  • 供应商/软件包B的安装请求*->供应商/软件包B可满足[dev master]
  • 供应商/packageB开发主机需要供应商/packageA开发主机->未找到匹配的软件包
潜在原因:

  • 软件包名称中的输入错误
  • 根据您的最低稳定性设置,该软件包没有足够稳定的版本
所以解释我所拥有的,考虑一下。

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

[
    "name": "vendor/packageB",
    "repositories": [
        {
            "type": "path",
            "url": "/vendor/packageA/"
        }
    ],
    "require": {
        "vendor/packageA": "*"
    },
    "minimum-stability": "dev"
]
[
    "name": "vendor/packageC",
        "repositories": [
            {
                "type": "path",
                "url": "/vendor/packageB/"
            }
        ],
        "require": {
            "vendor/packageB": "*"
        },
        "minimum-stability": "dev"
]
第二个包,我想安装packageB及其依赖项(在本例中为packageA)。这里有一个错误。 请参阅下面的
composer.json
文件摘录:

[
    "name": "vendor/packageB",
    "repositories": [
        {
            "type": "path",
            "url": "/vendor/packageA/"
        }
    ],
    "require": {
        "vendor/packageA": "*"
    },
    "minimum-stability": "dev"
]
[
    "name": "vendor/packageC",
        "repositories": [
            {
                "type": "path",
                "url": "/vendor/packageB/"
            }
        ],
        "require": {
            "vendor/packageB": "*"
        },
        "minimum-stability": "dev"
]
在composer中使用本地开发依赖项可能是不可能的,目前我还不太清楚这一点

所以,我的疑问是,这与:

  • “最小稳定性”,可能是因为这都是“开发”
  • 或者因为我使用的是本地软件包(不是PackageGist或github)
  • 或者是别的什么东西(除了打字错误:)
我已经设法安装它时,我把packageA,也作为packageB的依赖。这是我发现它有效的唯一方法


谢谢你的帮助

作曲家常见问题解答中介绍了此问题。

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

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

以上是完整的错误信息吗?我认为它是您的packageC中缺少的packageA存储库。也许composer会跳过依赖项的这个存储库部分,因为这可能会导致安全问题。我已经更新了错误消息,所以现在这是完整的错误消息@normm。