为什么这个 `npm version` 命令会中断?
Why does this `npm version` command break?
很简单,这个命令有效:
npm version 0.13.0-20190723T144221.855f01d
但是这个没有:
npm version 0.13.0-20190723T125957.0665893
为什么?它破坏了我们的构建过程,因此了解发生这种情况的原因会很有用。
连字符后面的 None 部分允许是具有前导 0
的数字(除非数字等于 0)。
这只适用于数字,使.855f01d
和.0855f01d
都有效,但.0855
无效。
这可以在 https://semver.org/spec/v2.0.0.html 的规则 9 中找到:
A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version.
Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty.
Numeric identifiers MUST NOT include leading zeroes.
出于测试目的,您可以在此页面上填写您建议或尝试的版本:https://jubianchi.github.io/semver-check/#/ .
很简单,这个命令有效:
npm version 0.13.0-20190723T144221.855f01d
但是这个没有:
npm version 0.13.0-20190723T125957.0665893
为什么?它破坏了我们的构建过程,因此了解发生这种情况的原因会很有用。
None 部分允许是具有前导 0
的数字(除非数字等于 0)。
这只适用于数字,使.855f01d
和.0855f01d
都有效,但.0855
无效。
这可以在 https://semver.org/spec/v2.0.0.html 的规则 9 中找到:
A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version.
Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty.
Numeric identifiers MUST NOT include leading zeroes.
出于测试目的,您可以在此页面上填写您建议或尝试的版本:https://jubianchi.github.io/semver-check/#/ .