Node.js中package.json中库的版本号的介绍


本文摘自PHP中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于Node.js中package.json中库的版本号的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

~和^的区别

最近总是碰到一些问题, 在本地好好的, 在线上就出现了问题, 本地也一直复现不了, 后来把node_modules目录删除了之后, 重新安装, 就在本地复现了这个问题,可以看了git history, 并没有人修改package.json中的版本号,于是认真的了解了一下package.json中库的版本号;

~和^的区别

1

2

"babel-loader": "^7.1.1",

"body-parser": "~1.15.2"

npm install --save xxx, 会优先考虑使用 ^而不是~

以版本号x.y.z为例
x:主版本号, 当你做了不兼容的API修改
y:次版本号, 当你做了向下兼容的功能性问题
z:修订号, 当你做了向下兼容的问题修复

~x.y.z, 会更新到y最新的版本, 例如 body-parser: ~1.15.2, 这个库会去匹配到1.15.z的最新版本, 如果出现了1.16.0, 则不会自动升级
^x.y.z, 会更新到x的最新版本, 例如 babel-loader: ^7.1.1, 这个库会去匹配7.y.z的最新版本, 如果出现了8.1.1, 则不会自动升级

可以参考npm官方给出的解释
^1.2.3 := >=1.2.3 <2.0.0
^0.2.3 := >=0.2.3 <0.3.0
^0.0.3 := >=0.0.3 <0.0.4

大多数情况下遵循这种版本号规则的依赖包都没问题, 但是npm是开源的世界, 并不是所有的都严格遵循这种规则, 所以会出现上述的问题;

为什么需要package锁

阅读剩余部分

相关阅读 >>

json.stringify()是干嘛的

javascript如何刷新页面

详解javascript中的函数柯理化

javascript怎么移除数组元素

javascript 专题之九:数组中查找指定元素

初探埋点系统

css和js的装载与执行(附代码)

如何用npm安装vue.js?

代码详解vue中key的作用示例

js如何使用索引访问数组对象中的元素

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...