我们拥有许多自定义和第三方库的复合项目。我们正在寻找一种使用作曲家更新更新大多数Sub项目的方法。但是为了安全起见,我们需要锁定当前安装版本的所有子依赖项。
我没有标记版本的问题,但是" Dev-Master"给了我麻烦
可以锁定依赖项" some/fu":" dev-master"
(当前版本0.1)保持原样,从不更新为0.2?
问题是 dev-master
是一个移动目标。因此dev-master
的含义可以随时更改。
假设它代表了最新的1.0开发版本。在某个时候,所述库的作者开始在1.1
版本上工作,因此它们分支了1.0
分支,dev-master
自动成为最新的1.1
DEV版本。
从技术上讲, dev-master
没有版本是 a版本,它代表了主分支的最新开发状态。
如果您需要控制源存储库,则可以使用分支别名。
或者您只能更新特定的软件包,例如composer update vendor/package1 vendor/package2
或缩短特定供应商composer update vendor/*
而不是完整的composer update
。据我所知
除了@peh答案:
是的,使用dev-master
是一种不好的做法。但是,如果确实有必要,您可以选择某些"symfony/finder": "dev-master#2633721877cae79ad461f3ca06f3f77fb4fce02e"
哪种情况会导致master
分支问题?您什么时候要执行composer update
?