通过Composer安装单个包

时间:2016-12-24 20:59:54

标签: php composer-php

我需要在项目中安装一个作曲家包 - maatwebsite/excel ~2.1.0。每次作曲家更新时,它都会更新composer.json中的所有包。如何避免更新excel库以外的包?

我已尝试过以下命令,但它们似乎无法正常工作:

composer require maatwebsite/excel ~2.1.0
composer require vendor/maatwebsite/excel ~2.1.0
composer update maatwebsite/excel ~2.1.0
composer update vendor/maatwebsite/excel ~2.1.0

我也尝试过使用--lock属性,但这也无效。

有谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:1)

要跳过任何其他软件包上的更新,只需在通话中添加--no-update。这指示Composer仅要求该新软件包,而不更新其他任何软件包。

然后产生的呼叫如下所示:

composer require maatwebsite/excel ~2.1.0 --no-update

答案 1 :(得分:0)

要安装具有特定版本的编辑器包,docs建议使用冒号。

composer require maatwebsite/excel:~2.1.0 --no-update

此外,作曲家cli工具composer help require帮助读取:

  

必需的包名称可选地包括版本约束,例如   foo / bar或foo / bar:1.0.0或foo / bar = 1.0.0或" foo / bar 1.0.0"

因此,要使用空格分隔的版本号,您需要围绕包/版本组合的引号。那就是:

composer require "maatwebsite/excel ~2.1.0" --no-update

也适合你。