php – 我将如何只更新一个作曲家依赖?

前端之家收集整理的这篇文章主要介绍了php – 我将如何只更新一个作曲家依赖?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我期望
composer update videlalvaro/PHP-amqplib

只会更新一个依赖关系,而不是更新所有.

我失踪了什么

PS:这个依赖被定义为“videlalvaro / PHP-amqplib”:composer.json中的“2.2.0”

PPS:使用的作曲家版本是3da05c68f9561fa822c522b1815435ff990493ff 2013-10-02 14:25:06

PPPS:实际输出

$composer.phar update videlalvaro/PHP-amqplib --no-dev
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - symfony/icu v1.2.0 requires lib-icu >=4.4 -> the requested linked library icu has the wrong version installed or is missing from your system,make sure to have the extension providing it.
    - symfony/icu v1.2.0 requires lib-icu >=4.4 -> the requested linked library icu has the wrong version installed or is missing from your system,make sure to have the extension providing it.
    - Installation request for symfony/icu == 1.2.0.0 -> satisfiable by symfony/icu[v1.2.0].
命令作曲家更新videlalvaro / PHP-amqplib只是更新该依赖.但是它不会禁用Composer的其他依赖关系检查.

抱怨的错误信息是lib-icu在您的系统上不可用.显然这将通过安装PHP Intl扩展来解决.

如果您在需要PHP 5.5的项目中进行作曲家更新,降级到PHP 5.4,然后在单独的需求(不需要PHP 5.5)上运行作曲家更新,则会看到类似的问题.即使您不需要更新需要PHP 5.5的需求,该包的要求也不可解决,因此Composer将失败.

在您的情况下,尽管您只是想将videlalvaro / PHP-amqplib更新到最新版本,但是symfony / icu的要求不能满足,因此作曲家更新失败.

编辑

为了尝试有帮助,我猜你自从上次进行更新以来重新安装了PHP,并且删除或忘记安装PHP Intl扩展.作曲者不能令人满意地满足您的composer.json设置的要求,因此默认情况下不做任何操作,而不是故意进行不符合要求的更新.

因此,基本上,您需要安装现有已安装软件运行所需的PHP扩展,然后Composer将能够更新要更新的单个软件包,并满足其他软件包的要求.

猜你在找的PHP相关文章