有没有办法只升级
require-dev
包而不升级 require
包?
在composer.json中,我更改了几个
require-dev
包,但我不希望其他非开发包及其依赖项更改其锁定版本。
我在文档中找不到任何内容。我能想到的唯一解决方案是更改composer.json中的版本并启动
composer update <list of all updated packages>
,但是如果您像我一样有很多依赖项需要升级,那就有点乏味了。
Composer 不直接提供此选项,但您可以编写其他命令来获取直接开发依赖项列表。
你可以试试这个:
composer update $(composer show --name-only -D | grep -E -v "$(composer show --no-dev --name-only -D | paste -sd '|' -)")
composer show --name-only -D
- 列出所有直接依赖项的名称
composer show --no-dev --name-only -D | paste -sd '|' -)
- 获取除开发之外的所有直接依赖项的名称,并转换要由 composer update
方法执行的字符串。