^在package.json依赖版本中

gbe*_*ger 18 node.js npm

^符号在package.json中的依赖版本中的含义是什么?

我在文档中找不到它.

例如:

"dependencies": {
    "grunt": "^0.4.4",
    ...
}
Run Code Online (Sandbox Code Playgroud)

ros*_*dia 32

我在这里找到答案:

另一方面,插入符号更放松.它会将您更新为最新的主要版本(第一个数字).^1.2.3将匹配任何1.x.x发布,包括1.3.0但将推迟2.0.0.npm的语义版本解析器澄清了这种区别:

~1.2.3 := >=1.2.3-0 <1.3.0-0 "Reasonably close to 1.2.3".
^1.2.3 := >=1.2.3-0 <2.0.0-0 "Compatible with 1.2.3".
Run Code Online (Sandbox Code Playgroud)

- isaacs/node-semver(强调添加)

相关要点isaacs/node-semver是:

  • ^1.2.3:= >=1.2.3-0 <2.0.0-0 与1.2.3兼容.
    使用插入符号运算符时,将支持指定版本(包括预发行版)中的任何内容,但不包括下一个主要版本(或其预发行版).1.5.1将满足^1.2.3,而1.2.22.0.0-beta不会.

  • ^0.1.3:= >=0.1.3-0 <0.2.0-0 与0.1.3兼容.
    0.xx版本是特殊的:第一个非零组件表示可能发生重大更改,这意味着插入符操作符匹配从指定版本开始具有相同的第一个非零组件的任何版本.

  • ^0.0.2:= =0.0.2 只有版本0.0.2被认为是兼容的