Php composer.json中的特定提交版本会产生错误
我正在尝试使用旧的PHP源代码Php composer.json中的特定提交版本会产生错误,php,composer-php,Php,Composer Php,我正在尝试使用旧的PHP源代码composer.json包含: { "minimum-stability": "dev", "name": "symfony/framework-standard-edition", "description": "The \"Symfony Standard Edition\" distribution", "autoload": { "psr-0": { "": "src/" } }, "requ
composer.json包含:
{
"minimum-stability": "dev",
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "v2.2.4",
[...]
"friendsofsymfony/user-bundle": "v1.3.1",
"doctrine/data-fixtures" : "dev-master#b4a135c",
[...]
但是当我运行php composer.phar安装时
我得到了:
Problem 1
- Installation request for doctrine/data-fixtures dev-master#b4a135c -> satisfiable by doctrine/data-fixtures[dev-master].
- doctrine/data-fixtures dev-master requires php ^7.1 -> your PHP version (5.6.37) does not satisfy that requirement.
条令/数据装置
此提交的要求为
为什么composer谈论php^7.1
?如何真正使用此软件包的版本b4a135c
?当您使用此类约束时,需求来自分支机构。因此,对于dev master#b4a135c
要求,检查master
分支,因此这是^7.1
要求的来源
快速解决方法是使用不同的分支:
"doctrine/data-fixtures": "1.0.x-dev#b4a135c",
但您应该真正地修复它,并使用真正的约束和发布-指向指定的提交基本上是一种黑客行为,应该避免。长期依赖它可能会在某个时候带来一些问题。这种限制和可能的问题是:
虽然这有时很方便,但它不应该是长期使用包的方式,因为它有技术限制。composer.json元数据仍将从哈希之前指定的分支名称中读取。因此,在某些情况下,这将不是一个实际的解决方法,您应该始终尝试尽快切换到标记版本