仅从composer.json安装新包

时间:2015-05-27 09:37:51

标签: composer-php laravel-forge

我试图让作曲家只将新添加的包更新到composer.json,即当我手动将包依赖项添加到composer.json文件时,它应该更新composer.lock文件仅适用于新包装;其余的软件包应与以前版本相同。我试过运行composer update --lock,但我认为它不能实现我想要实现的目标,而且需要花费很多时间才能完成。我检查了作曲家文档上的命令,但找不到符合我意愿的文件。任何建议或解决方法将不胜感激。

注意:我使用的是Laravel Forge,因此部署限制为2分钟。

3 个答案:

答案 0 :(得分:1)

您可以将包的名称指定为update命令的参数。这将执行部分更新:composer update the-package/you-want-to-update

答案 1 :(得分:1)

我认为您的问题与您(猜测的)当前工作流程有关:要添加新软件包,请编辑composer.json文件,然后运行composer update - 希望仅添加/更新该新文件。

如果确实如此,这就是解决方案:

composer require new/package将添加新软件包的最新版本(考虑到当前安装的软件包)。好处:只有一个命令行,而且没有摆弄JSON内容。

如果你已经知道你想要哪个版本,你也可以运行composer require new/package:^2.1.25@beta(或者你想要的任何版本和稳定性级别 - 这个例子夸大了一点)。如果此版本与现有软件包不兼容,则不会安装任何内容,所有内容都将回滚,并且您会收到错误消息。

答案 2 :(得分:0)

为了只安装带有composer的新软件包,你应该运行 g 因为cached_user_tag_list将安装您的新软件包,但会更新和所有其他已安装的软件包。

相关问题