是否有一种自动更新composer.json中的版本号并在发布前添加必要标签的方法,就像
npm version
那样?
我的意思是,如果你有一个包含
"version": "2.1.3"
行的composer.json,并执行:
composer version minor
它将执行以下操作:
composer.json
中的版本号更新为2.2.0
composer update
更新composer.lock
git commit
v2.2.0
我知道
composer version
命令不存在,但是有等效的工具吗?
npm version
可以完成 Composer 可能不需要的功能:
composer.json
中 - 并且因为您稍后会提到 Git,所以它们是可用的。git commit
不会执行任何操作。version
参数,您将不必查找正在处理的当前版本号。总而言之,我想说,对于 Composer 来说,简单地标记您的新版本就足够了。您可能需要准备一些基础设施并进行配置,以使世界了解新版本:
但这取决于您如何设置。
如果出于某种原因,尽管有人反对,你仍然想使用OP要求的工具,https://www.npmjs.com/package/composer-version效果很好。
我偶然发现了这个,因为我的composer.json 中也有一个版本。我在过去的某个时候添加了它,因为我得到了
“Composer 无法检测根包(drupal/recommended-project)版本,默认为‘1.0.0’。请参阅 https://getcomposer.org/root-version”
错误和过去的我,虽然“哦,我想这是强制性的”
但是跑步
composer validate
揭示了
这基本上就是斯文在他的回答中已经描述的./composer.json 有效,但有一些警告 有关架构的详细信息,请参阅https://getcomposer.org/doc/04-schema.md
版本字段存在,如果包发布在Packagist上,建议将其省略。
如果包存储库可以从某处推断版本(例如 VCS 存储库中的 VCS 标记名称),则为可选。在这种情况下,也建议省略它。
Packagist 使用 VCS 存储库,因此上面的说法对于 Packagist 来说也非常正确。自己指定版本很可能最终会由于人为错误而在某些时候产生问题。