为什么此`npm version`命令会中断?

时间:2019-07-23 14:54:51

标签: npm semantic-versioning

很简单,此命令有效:

npm version 0.13.0-20190723T144221.855f01d

但这不是:

npm version 0.13.0-20190723T125957.0665893

为什么?它破坏了我们的构建过程,因此了解为什么会发生是很有用的。

1 个答案:

答案 0 :(得分:1)

连字符后面的任何部分均不得为前导 0 的数字(除非数字等于0)。

这仅适用于数字,使.855f01d.0855f01d均有效,但.0855无效。

这可以在https://semver.org/spec/v2.0.0.html的规则9中找到:

  

可以通过在补丁程序版本之后立即添加一个连字符和一系列点分隔的标识符来表示预发行版本。

     

标识符必须仅包含ASCII字母数字和连字符[0-9A-Za-z-]。标识符不得为空。

     

数字标识符不得包含前导零。

出于测试目的,您可以在以下页面上填写建议的或尝试的版本https://jubianchi.github.io/semver-check/#/