在不添加/更新依赖项的情况下对包进行排序

时间:2016-10-04 03:04:57

标签: composer-php

在一个包含很长的软件包列表和各种功能分支的现有项目中,我希望通过按字母顺序添加依赖项来缓解和减少合并冲突。

为了清理这一点,我希望能够自行运行--sort-packages功能 - 无需添加或更新任何内容 - 只需一次清理即可现有的包,然后将"sort-packages" : "true"添加到composer.json文件的"config"部分,以确保所有新包都按字母顺序添加。

是否可以使用CLI上的composer composer.json选项对凌乱的--sort-packages文件中列出的包进行排序,而无需实际添加或更新任何依赖项?

到目前为止,我发现的唯一解决方法是针对您确定不会更新的软件包运行composer update some / package --sort-packages,因为它已经是最新版本。这不太理想。

3 个答案:

答案 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。加上一些摆弄,以确保除最后一行外的所有行都有逗号。

相关问题