^在package.json依赖版本中

时间:2014-03-21 17:17:54

标签: node.js npm

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

我无法在the docs找到它。

例如:

"dependencies": {
    "grunt": "^0.4.4",
    ...
}

1 个答案:

答案 0 :(得分:30)

我找到了答案here

  另一方面,插入符号更放松。它会将您更新为最新的主要版本(第一个数字)。 ^1.2.3将与包括1.x.x在内的任何1.3.0版本相匹配,但会暂停2.0.0。 npm的semantic versioning parser澄清了区别:

     
~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".
         

- 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.x.x版本是特殊的:第一个非零组件表示可能存在重大更改,这意味着插入符操作符匹配从指定版本开始的具有相同的第一个非零组件的任何版本。

  • ^0.0.2:= =0.0.2 仅将版本0.0.2视为兼容