2016-12-24 500 views
1

我需要将一个composer软件包安装到项目中 - maatwebsite/excel ~2.1.0。每次作曲家更新时,它都会更新composer.json中的所有包。我怎样才能避免从Excel库中更新软件包?通过Composer安装单个软件包

我曾尝试下面的命令,但他们似乎并不奏效:

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属性试过但是这也不能正常工作。

有人可以告诉我我做错了什么吗?

+0

应该可以编辑composer.json来设置你想要的软件包版本(〜2.1.0),然后只需'composer update maatwebsite/excel' – drew010

+0

@ Laki98我相信这个作曲者可能只更新它的依赖关系'maatwebsite/excel'软件包,而不是供应商文件夹中的所有内容。你能粘贴输出吗? – prateekkathal

+0

@prateekkathal它已经下载并更新所有的依赖关系,就像之前一样。我会在答案中将输出复制下来。 – Laki98

回答

0

要安装具有特定版本的作曲家包,docs建议使用冒号。

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

此外,作曲家CLI工具composer help require帮助写着:

所需的程序包名可选包括版本约束,例如 富/酒吧或富/酒吧:1.0.0或富/条= 1.0.0或“富/酒吧1.0.0”

所以用空格分隔的版本号,你需要周围的引号包/版本组合。那就是:

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

应该为你工作了。

+0

感谢您的快速回复,但同样,两种方式都会更新composer.json的所有依赖项。 – Laki98