如何在作曲家安装时跳过建议

时间:2015-01-13 13:46:50

标签: composer-php

当我运行composer install时,它本身并没有显示有关建议的任何内容。在我们的CI环境中,它提供了一长串我想避免的建议。我想看看从缓存加载的内容的输出和那种事情,只是不想看到这个。我已经通过了文档,而且还没有能够弄清楚如何隐藏它。

这些建议(以及其他许多内容)......

symfony/security-core suggests installing symfony/expression-language (For using the expression voter)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
predis/predis suggests installing ext-phpiredis (Allows faster serialization and deserialization of the Redis protocol)
phpseclib/phpseclib suggests installing ext-gmp (Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.)
phpseclib/phpseclib suggests installing pear-pear/PHP_Compat (Install PHP_Compat to get phpseclib working on PHP < 4.3.3.)
patchwork/utf8 suggests installing ext-intl (Use Intl for best performance)
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)

如何隐藏此输出?

2 个答案:

答案 0 :(得分:6)

当您对具有composer install文件的项目运行composer.lock时,它只会安装在composer.lock文件中锁定的版本,而不会安装任何内容。换句话说,所需的软件包和版本已经解决,只是安装它。

当您在没有composer install文件的项目上运行composer.lock时,Composer将解析所需的软件包及其版本,并在安装之前将其存储在composer.lock文件中。在这种情况下,项目未设置,您会收到有关其他建议包的通知。

在第二种情况下,您无法从输出中隐藏建议的包列表(至少在撰写此答案时)。在第一种情况下,没有什么是新的,所以根本没有显示。

解决方案是将您的composer.lock文件推送到服务器,毕竟这是一个很好的做法(您不希望生产服务器拥有除开发环境之外的其他版本的依赖项,较新版本可能会破坏您的网站。

答案 1 :(得分:4)

从编辑器1.6.3开始,有一个--no-suggest选项可在运行composer installcomposer update时隐藏所有建议。