1

我试图让作曲家只更新新添加composer.json的包,即当我手动向composer.json文件添加包依赖项时,它应该composer.lock只为新包更新文件;其余软件包应与以前的版本相同。我尝试过跑步composer update --lock,但我认为它并没有达到我想要达到的效果,而且需要很长时间才能完成。我检查了作曲家文档上的命令,但找不到一个来实现我的愿望。任何建议或解决方法将不胜感激。

注意:我使用的是 Laravel Forge,所以有 2 分钟的部署限制。

4

3 回答 3

2

为了只使用 composer 安装新包,你应该运行 composer install 因为composer update将安装你的新包,但会更新所有其他已经安装的包。

于 2015-06-03T23:44:26.097 回答
1

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

于 2015-05-27T11:02:51.760 回答
1

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

如果这是真的,这里是解决方案:

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

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

于 2015-05-28T19:25:18.630 回答