Node.js中package.json中库的版本号详解(^和~区别)

您所在的位置:网站首页 版本号更新有什么用 Node.js中package.json中库的版本号详解(^和~区别)

Node.js中package.json中库的版本号详解(^和~区别)

2024-07-09 15:47| 来源: 网络整理| 查看: 265

    当我们查看package.json中已安装的库的时候,会发现他们的版本号之前都会加一个符号,有的是插入符号(^),有的是波浪符号(~)。那么他们到底有什么区别呢?先贴一个例子,对照例子来做解释:

"dependencies": { "bluebird": "^3.3.4", "body-parser": "~1.15.2" } bluebird的版本号:^3.3.4

body-parse的版本号:~1.15.2

当我们使用最新的Node运行‘npm instal --save xxx',的时候,他会优先考虑使用插入符号(^)而不是波浪符号(~)了。

这对于你来说意味这什么呢?首先我们需要理解这两者(~和^)的区别。

波浪符号(~):他会更新到当前minor version(也就是中间的那位数字)中最新的版本。放到我们的例子中就是:body-parser:~1.15.2,这个库会去匹配更新到1.15.x的最新版本,如果出了一个新的版本为1.16.0,则不会自动升级。波浪符号是曾经npm安装时候的默认符号,现在已经变为了插入符号。

插入符号(^):这个符号就显得非常的灵活了,他将会把当前库的版本更新到当前major version(也就是第一位数字)中最新的版本。放到我们的例子中就是:bluebird:^3.3.4,这个库会去匹配3.x.x中最新的版本,但是他不会自动更新到4.0.0。

总结一下:

~1.15.2 :=  >=1.15.2 =3.3.4



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3