在一个包含很长的软件包列表和各种功能分支的现有项目中,我希望通过按字母顺序添加依赖项来缓解和减少合并冲突。
为了清理这一点,我希望能够自行运行--sort-packages
功能 - 无需添加或更新任何内容 - 只需一次清理即可现有的包,然后将"sort-packages" : "true"
添加到composer.json文件的"config"
部分,以确保所有新包都按字母顺序添加。
是否可以使用CLI上的composer composer.json
选项对凌乱的--sort-packages
文件中列出的包进行排序,而无需实际添加或更新任何依赖项?
到目前为止,我发现的唯一解决方法是针对您确定不会更新的软件包运行composer update some / package --sort-packages,因为它已经是最新版本。这不太理想。
答案 0 :(得分:8)
你可以重新要求"您已经需要的套餐。就我而言,它是Symfony 3.4,所以我做了:
composer require symfony/symfony:3.4.*
如果你的composer.json中没有"sort-packages": true
,你可以这样做:
composer require --sort-packages symfony/symfony:3.4.*
据我所知,只有require命令可以选择对包进行排序,因此您似乎需要一个包来进行排序。
答案 1 :(得分:2)
我知道我(真的)迟到了!但是也许我的回答可以在将来对其他人有所帮助;-)
将此内容放入您的composer.json
文件中:
"config": {
"sort-packages": true
},
答案 2 :(得分:0)
首先,出于您描述的所有原因,+ 1用于使用"sort-packages": true
。
直接编辑composer.lock
是个坏主意,但我认为composer.json
也不适用。我将在Vim中编辑文件,选择"require"
和"require-dev"
部分中的所有内容(一次选择一个)和:sort
。加上一些摆弄,以确保除最后一行外的所有行都有逗号。