2016-12-24 164 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