正在更新项目版本:Composer



使用composer时更改版本号的正确方法是什么?考虑当前的场景:

您有masterdevelop分支,您的版本是1.0.0。出现了一个严重的错误,你必须创建一个hotfix-1.0.1分支(从master)来修复它,并合并回masterdevelop。一旦你要合并,你更新"version":"1.0.1"composer.json

现在什么?在我的情况下,我运行composer update和几个依赖项更新(这不是我运行它的原因,我只是认为每次编写时都必须运行它)。当合并分支时,在composer.lock上结束了1小时的冲突解决。

我是否必须运行composer update(或任何其他作曲家命令)后更新"version"或这是不必要的,我可以只是git commitgit push ?

作曲器中不应该有"version"键。如果您使用的是受支持的版本控制系统(Git、Mercurial或SVN),请使用json文件。您应该创建一个包含您想要发布的版本的标签。

如果您添加的版本号对几个提交有效,Composer应该怎么做?哪个提交是真正包含版本的提交?如果您可以在composer中检查出具有相同版本名称的几个提交。Json,"版本"不清楚。

此外,在这个文件中手动维护正确的版本号是很麻烦的,在正确的时间/提交时增加它,然后可能再次删除它。

因为在vcs中标记一个软件版本并不意味着对任何文件进行编辑,所以不需要自动运行"composer update"。

还要注意,composer update只适用于包的依赖项。如果它在其他地方被使用,锁文件将被完全忽略,只有版本要求在composer中。Json正在被使用。

关于作曲家的冲突。锁:我不手动解决它们。我删除了包含所有内容的文件,然后再次运行"composer update"。这将创建一个新的锁文件,该文件尊重composer.json中的所有当前依赖项。如果允许的话,它可能会更新到较新的版本,但我认为这是可以的。这是一个一分钟的过程-如果在此之后出现问题并且测试失败,则合并可能存在比锁文件中的冲突更多的问题。

在更新自己的版本号时不需要运行composer update。只在需要更新依赖项时运行:

为了获得最新版本的依赖项并更新composer.lock文件,您应该使用update命令。

php composer.phar update

这将解析项目的所有依赖项,并将准确的版本写入composer.lock

我强烈建议明确列出您希望更新的依赖项:

如果你只想更新几个包而不是全部,你可以这样列出它们:

php composer.phar update vendor/package vendor/package2

你也可以使用通配符一次更新一堆包:

php composer.phar update vendor/*

相关内容

  • 没有找到相关文章

最新更新