我试图让作曲家只更新新添加composer.json
的包,即当我手动向composer.json
文件添加包依赖项时,它应该composer.lock
只为新包更新文件;其余软件包应与以前的版本相同。我尝试过跑步composer update --lock
,但我认为它并没有达到我想要达到的效果,而且需要很长时间才能完成。我检查了作曲家文档上的命令,但找不到一个来实现我的愿望。任何建议或解决方法将不胜感激。
注意:我使用的是 Laravel Forge,所以有 2 分钟的部署限制。
我试图让作曲家只更新新添加composer.json
的包,即当我手动向composer.json
文件添加包依赖项时,它应该composer.lock
只为新包更新文件;其余软件包应与以前的版本相同。我尝试过跑步composer update --lock
,但我认为它并没有达到我想要达到的效果,而且需要很长时间才能完成。我检查了作曲家文档上的命令,但找不到一个来实现我的愿望。任何建议或解决方法将不胜感激。
注意:我使用的是 Laravel Forge,所以有 2 分钟的部署限制。
为了只使用 composer 安装新包,你应该运行
composer install
因为composer update
将安装你的新包,但会更新所有其他已经安装的包。
您可以将包的名称指定为update
命令的参数。这将执行部分更新:composer update the-package/you-want-to-update
我认为您的问题与您(猜测的)当前工作流程有关:要添加新包,您需要编辑composer.json
文件然后运行composer update
- 希望只添加/更新该新文件。
如果这是真的,这里是解决方案:
composer require new/package
将添加新软件包的最新版本(考虑到当前安装的软件包)。好处:只有一个命令行,不用摆弄 JSON 内容。
如果你已经知道你想要哪个版本,你也可以运行composer require new/package:^2.1.25@beta
(或者你想要的任何版本和稳定性级别——这个例子有点夸张)。如果此版本与现有软件包不兼容,则不会安装任何内容,所有内容都将回滚,并且您会收到一条错误消息。