Php 为什么可以';t我需要来自“的特定提交”;“开发大师”;这个包裹?

Php 为什么可以';t我需要来自“的特定提交”;“开发大师”;这个包裹?,php,git,composer-php,Php,Git,Composer Php,我正试图通过Composer安装(特别是,devmaster)。最新的提交要求在某个提交时执行。我遇到了一些问题,作曲家无法找到那个特定的参考(#c87d856) 为了重现这个问题,我创建了一个最小的composer.json文件,该文件只需要缺少的包/版本: { "name": "a-vendor/some-library", "type": "library", "reposit

我正试图通过Composer安装(特别是,
devmaster
)。最新的提交要求在某个提交时执行。我遇到了一些问题,作曲家无法找到那个特定的参考(#c87d856)

为了重现这个问题,我创建了一个最小的
composer.json
文件,该文件只需要缺少的包/版本:

{
    "name": "a-vendor/some-library",
    "type": "library",
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "roave/better-reflection",
                "version": "dev-master#c87d856",
                "source": {
                    "type": "git",
                    "url": "https://github.com/roave/BetterReflection.git",
                    "reference": "commit/c87d856"
                }
            }
        }
    ],
    "require-dev": {
        "roave/better-reflection": "dev-master#c87d856"
    }
}
我希望将该存储库添加为一个包可以解决这个问题。我认为回购协议和包名称之间的差异可能是问题所在)。然而,我得到了同样的问题,与信息:

请求的包roave/better reflection dev master#c87d856 以roave/better reflection[0.1.0,1.0.0,1.0.1,1.1.0,1.2.0, 2.0.0.0.0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3.3 0 0 0,3.3.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,2.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,4.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,4.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,4.0 0 0 0 0 0 0 0 0 0 0,4.0 0,4.0 0 0 0 0 0 0 0,4.0 0 0 0 0 0 0 0 0 0,4.0 0,4.0 0 0 0 0 0 0 0 0,4.0,4.0 0 0 0 0-8.2.0, dev-cordeniot/composer/infection/infection-0.17.5, dev-cordenot/composer/phpstan/phpstan-0.12.48, dev-cordenot/composer/phpstan/phpstan-0.12.52, dev-cordenot/composer/phpstan/phpstan-0.12.53, 德夫·科瑞托特/作曲家/维梅奥/诗篇-3.16, dev Reliandot/composer/vimeo/psalm-3.18.2, 开发人员实现newInstanceArgs,开发人员主机#c87d856]但这些是 被你的约束所拒绝

您可以看到,我添加的存储库位于列表的末尾,但Composer没有将其作为匹配项

有没有人知道我如何帮助Composer定位这个版本/提交,并让它为需要它的依赖项(apigen/apigen)工作?

$Composer req--dev roave/better reflection:4.12.x-dev#c87d856
没有
master
分支,分支
4.12.x
似乎一直到
4.12.x-dev
()。

$composer req--dev roave/better reflection:4.12.x-dev#c87d856

没有
master
分支,分支
4.12.x
似乎已经转到
4.12.x-dev
()。

你说得完全正确-谢谢你敏锐的眼睛。在我的案例中,解决方案是
composer require--dev roave/better reflection:“3.3.0作为开发大师”
(因为3.3.0是支持我正在使用的PHP版本的最后一个版本:7.1)您完全正确-感谢您敏锐的眼光。在我的案例中,解决方案是
composer require--dev roave/better reflection:“3.3.0作为dev master”
(因为3.3.0是支持我使用的PHP版本的最后一个版本:7.1)