我知道,只要主要版本仍然是 2,使用 ^2.x 和 ^2.1.2 都会更新次要版本和补丁,但是如果我使用插入符号,我应该指定次要版本和/或补丁版本吗?
https://bytearcher.com/articles/semver-explained-why-theres-a-caret-in-my-package-json/ 中的评论之一说:
you don't actually want 2.., because that allows both newer and older releases. ^2.1.2 means "2.1.2 or newer".
但是如果我知道 ^2.1.2 已经发布,那么使用 ^2.x 本质上不会总是等同于 ^2.1.2,那么包含次要版本和补丁版本是否有目的?
最佳答案
使用此工具来检验您的假设:https://semver.npmjs.com/
根据此工具,包含次要版本和/或补丁版本是有道理的。经过一番尝试后,插入符号似乎会锁定次要版本,但不会引入任何早于您提供的版本的内容。
例如:^2
可以引入版本 2.2
,但 ^2.3
则不会。
关于json - 使用 Caret 时是否应该在 package.json 中包含次要版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47206221/