package.json 中的 npm 语义版本控制 - 它仅适用于 1.0.0 及更高版本吗?
npm semantic versioning in package.json - does it work only from version 1.0.0 and up?
我注意到,即使我已经指定了 v-calendar 库的版本 ^0.5.5
,并且从今天开始,版本 0.6.3
可用,当我 运行 npm update
, 包未更新
当我在 npmsemver 计算器中测试版本 ^0.5.5
时,只有版本 0.5.5
是绿色的,这意味着 npm 会忽略版本 0.6.x
及更高版本。
我假设只有当包在 1.0.0
及更高版本上时 npm 的语义版本控制才有效,我是否正确?
npm docs 指定:
If a project is going to be shared with others, it should start at 1.0.0, (though some projects on npm don't follow this rule).
但我在那里找不到任何说明如果您发布从版本 0.x.x
开始的包,语义版本控制将不起作用的任何内容。
见https://docs.npmjs.com/misc/semver#caret-ranges-123-025-004
插入符号范围键入最左边的 non-zero 值。这符合将 SemVer 规则向右移动一个字段以用于实验版本 (0.y.z) 的常见做法,这样 Y 字段会因已知的重大更改而递增,而 Z 字段则用于新功能和错误修复。这是我认为应该从标准中淘汰的历史神器。
我注意到,即使我已经指定了 v-calendar 库的版本 ^0.5.5
,并且从今天开始,版本 0.6.3
可用,当我 运行 npm update
, 包未更新
当我在 npmsemver 计算器中测试版本 ^0.5.5
时,只有版本 0.5.5
是绿色的,这意味着 npm 会忽略版本 0.6.x
及更高版本。
我假设只有当包在 1.0.0
及更高版本上时 npm 的语义版本控制才有效,我是否正确?
npm docs 指定:
If a project is going to be shared with others, it should start at 1.0.0, (though some projects on npm don't follow this rule).
但我在那里找不到任何说明如果您发布从版本 0.x.x
开始的包,语义版本控制将不起作用的任何内容。
见https://docs.npmjs.com/misc/semver#caret-ranges-123-025-004
插入符号范围键入最左边的 non-zero 值。这符合将 SemVer 规则向右移动一个字段以用于实验版本 (0.y.z) 的常见做法,这样 Y 字段会因已知的重大更改而递增,而 Z 字段则用于新功能和错误修复。这是我认为应该从标准中淘汰的历史神器。