我想将此标签从分支1.x
添加到我的项目中。
我指定:"monolog/monolog": "dev-1.x#1.23.0"
然后跑composer update monolog/monolog
作曲家 说:
Problem 1
- The requested package monolog/monolog dev-1.x#1.23.0 exists as monolog/monolog[1.0.0, 1.0.0-RC1, 1.0.1, 1.0.2, 1.1.0, 1.10.0, 1.11.0, 1.12.0, 1.13.0, 1.13.1, 1.14.0, 1.15.0, 1.16.0, 1.17.0, 1.17.1, 1.17.2, 1.18.0, 1.18.1, 1.18.2, 1.19.0, 1.2.0, 1.2.1, 1.20.0, 1.21.0, 1.22.0, 1.22.1, 1.23.0, 1.3.0, 1.3.1, 1.4.0, 1.4.1, 1.5.0, 1.6.0, 1.7.0, 1.8.0, 1.9.0, 1.9.1, 1.x-dev, dev-master, 2.x-dev] but these are rejected by your constraint.
我想从特定分支中提取特定标签。我该怎么办?这个答案表明我应该没事。
更新:
在遵循 Loek 的建议并删除实际标签之前的所有内容后,我得到这个:
The requested package monolog/monolog (installed at 1.21.0, required as 1.23.0) is satisfiable by monolog/monolog[1.21.0] but these conflict with your requirements or minimum-stability.
我已经设置"minimum-stability": "dev"
了。
您可以使用composer why-not
命令查看哪些包与您指定的版本冲突。
因此,在不对 composer.json 进行任何更改的情况下,运行:
composer why-not monolog/monolog 1.23.0
这应该告诉您冲突发生的位置。
您还可以采取一些措施来降低此类冲突的可能性:
- 在版本约束中不要那么严格。与包的特定版本挂钩使 Composer 查找工作包集的自由度降低。
- 编辑约束,然后在没有任何参数的情况下运行
composer update
,让 Composer 找到满足这些约束的最佳包集,而不是强制它一次更改一个包。
我遇到了同样的问题,问题出在Packagist上,我在Github上更新了版本,但尚未在Packagist上更新。因此,在更新后,问题得到了解决。
您可以指定要下载的标签。如果软件包维护者很好地标记了他们的版本,那么它是什么分支或稳定性并不重要。如果指定1.23.0
,它将始终拉入1.23.0
。
编辑
可能有一些包冲突。查看@IMSoP的答案,寻找比我更容易解决的方法。
我的将是:更新所有包,作赞器应该显示哪些包正在冲突。
在保持完整一段时间后,我在phpmyadmin上遇到了类似的问题。 我意识到不存在的版本 4.5.0,过去已删除或输入错误
似乎对我有帮助的是手动编辑 -从 composer.json 中删除记录并发出作曲家安装命令。
下一步是安装其中一个混凝土版本,该版本已经提到有问题 - 被约束拒绝 4.7.0 -php7.0 composer install phpmyadmin/phpmyadmin:4.7.0
我还添加了两个设置 - 但这些设置似乎不能单独工作
"minimum-stability": "dev",
"prefer-stable": true,
我最初的错误消息是
Problem 1
- The requested package phpmyadmin/phpmyadmin 4.5.0.* exists as phpmyadmin/phpmyadmin[4.0.0, 4.0.1, 4.0.10, 4.0.10.1, 4.0.10.2, 4.0.10.3, 4.0.10.4, 4.0.10.5, 4.0.10.6, 4.0.10.7, 4.0.10.8, 4.0.10.9, 4.0.2, 4.0.3, 4.0.4, 4.0.4.1, 4.0.4.2, 4.0.5, 4.0.6, 4.0.7, 4.0.8, 4.0.9, 4.7.0, 4.7.1, 4.7.2, 4.7.3, 4.7.4, 4.7.5, 4.7.6, 4.7.7, 4.7.8, 4.7.9, 4.7.x-dev, 4.8.0, 4.8.0.1, 4.8.1, 4.8.2, 4.8.3, 4.8.4, 4.8.5, 4.8.x-dev, 4.9.0, 4.9.0.1, 4.9.1, 4.9.x-dev, 5.0.x-dev, dev-master, 5.1.x-dev] but these are rejected by your constraint.