是否有一种自动方法可以在 composer.json 中更新版本号并在发布之前添加必要的标签,就像npm version
所做的那样?
我的意思是,如果你有一个带有行"version": "2.1.3"
的 composer.json 并执行:
composer version minor
它将执行以下操作:
- 将
composer.json
中的版本号更新为2.2.0
- 触发
composer update
以更新composer.lock
- 制作新
git commit
- 创建一个新的 git 标签
v2.2.0
我知道composer version
命令不存在,但有没有等效的工具?
npm version
执行了作曲家很可能不需要的内容:
- 如果还有其他方法可用,则版本号不会记录在
composer.json
中 - 并且由于您稍后引用 Git,因此它们可用。 - 无需更新锁定文件中的依赖项。当您正在处理的项目包含在其他位置时,锁定文件将被忽略。
- 因为项目中没有任何变化,所以
git commit
不会做任何事情。 - 所有这些都使您需要在 Git 存储库中创建新标记。将其放入Composer意味着您将一个命令与另一个命令交换,除了如果您使用某些相对
version
参数,则不必查找正在处理的当前版本号之外,没有任何大的好处。
总而言之,我想说的是,对于Composer来说,简单地标记你的新版本就足够了。您可能需要设置一些基础架构并进行配置,以使世界了解新版本:
- 如果你的包是开源的并且 packagist.org,你应该有一个提交后的钩子,以便在新版本可用时立即通知他们。这是 Github 上的标准选项,我不知道其他源代码主机。
- 否则,如果您必须提供闭合源代码,您可能会开始一个新的更新周期,用于创建替代包信息源的任何系统(无论是Satis,本地托管的Packagist,Toran Proxy还是Private Packagist)
但是,这取决于您如何设置内容。
如果出于某种原因,尽管所有声音都反对它,您仍然想使用像 OP 要求的工具,https://www.npmjs.com/package/composer-version 效果很好。