2015-05-27 102 views
0

我試圖讓作曲者只更新新添加的軟件包到composer.json,即當我手動向composer.json文件添加軟件包依賴項時,它應該只更新composer.lock文件;其餘的軟件包應該與之前版本相同。我嘗試運行composer update --lock,但我不認爲它做到了我想要實現的目標,並且花了很多時間才能完成。我檢查了作曲家的文檔上的命令,但找不到一個實現我的願望。任何意見或解決方法將不勝感激。只從composer.json安裝新軟件包

注意:我正在使用Laravel Forge,因此有2分鐘的部署限制。

回答

1

您可以指定包的名稱作爲update命令的參數。這將進行部分更新:composer update the-package/you-want-to-update

+0

作曲家有沒有辦法自動理解composer.json中的哪個包是新的? – gzg

1

我覺得你的問題是有關您的(猜測)當前的工作流程:要添加新包你編輯composer.json文件,然後運行composer update - 希望只添加/更新新的文件。

如果是真的,這裏是解決方案:

composer require new/package將添加最新版本的可能(考慮到當前已安裝的軟件包)的新包。優點:只有一個命令行,並且不會擺弄JSON內容。

如果你已經知道你想要哪個版本,你也可以運行composer require new/package:^[email protected](或者你想要的任何版本和穩定級別 - 這個例子有點誇張)。如果此版本與現有軟件包不兼容,則無法安裝任何內容,所有內容都將回滾,並且您收到錯誤消息。

0

爲了只安裝新的軟件包與作曲家應該運行 composer install 因爲composer update將安裝新的軟件包,但將更新和其他所有已經安裝的軟件包。