我试图让作曲家只将新添加的包更新到composer.json
,即当我手动将包依赖项添加到composer.json
文件时,它应该更新composer.lock
文件仅适用于新包装;其余的软件包应与以前版本相同。我试过运行composer update --lock
,但我认为它不能实现我想要实现的目标,而且需要花费很多时间才能完成。我检查了作曲家文档上的命令,但找不到符合我意愿的文件。任何建议或解决方法将不胜感激。
注意:我使用的是Laravel Forge,因此部署限制为2分钟。
答案 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
将安装您的新软件包,但会更新和所有其他已安装的软件包。