json - 使用 Caret 时是否应该在 package.json 中包含次要版本?

标签 json node.js npm packages.json

我知道,只要主要版本仍然是 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/

相关文章:

node.js - Webgl 上下文在 Node js 命令提示符中返回 null

javascript - 将数组传递给 Flot 图表

mysql - 错误 : connect ECONNREFUSED while accessing mysql

Node.js 和 sqlite,SQLITE_RANGE : bind or column index out of range

javascript - 在 React 服务器中使用外部 JS 库

javascript - 未处理的 promise 拒绝警告 : ReferenceError: TextEncoder is not defined in NextJS 12

json - 无法使用 Hyperledger Fabric ping 我的远程本地主机

json - Flutter 用数组解析 JSON

javascript - 对象作为 React 子对象无效(找到 : object with keys {. ..})

node.js - "TypeError: Cannot read property ' 在每个 npm 命令上获取 ' of undefined"