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


当前第2页 返回上一页

有如下几个可能原因, 在某些情况下, package.json是无法保证每个人自己电脑上执行的 npm install 后安装的依赖版本都是一样的
1.如果package.json中记录的依赖包的版本是一个版本范围, 一旦执行npm i 会导致这个包更新到最新版本
2.就算你依赖了一个固定版本的包(如A 1.1.1), 但你依赖的包A可能依赖其他的包B,而A在声明依赖时可能也使用了semser命名, 如 ^1.2.3, 如果包B release 了新版, 也会导致包B会安装到更新版本
3.不同人使用的npm程序的版本不同

如果依赖包的版本不一致, 会导致开发环境和生产环境产品不一致的行为; 或者导致不同团队成员之前也产品环境差异

如何解决包版本不一致的情况

1.npm 使用package-lock.json文件来解决这个问题

执行npm install会自动生成package.json文件, 只要执行普通的安装, 更新等可能会修改 package.json的npm命令, 都会自动同步修改package-lock.json文件

1

2

3

npm install xxx

npm rm xxx

npm update xxx

2.npm 还支持npm-shrinkwrap.json, 和package-lock.json功能完全一样

执行 npm shrinkwrap来生成npm-shrinkwrap.json
此命令将根据 package-lock.json 文件创建一个新的或覆盖已有的 npm-shrinkwrap.json 文件。 此命令创建和更新的文件将优先于任何其他现有或将有的 package-lock.json 文件。

3.使用yarn

使用yarn主要有一下优点

  • 快速: 会缓存它下载的每个包,无需重复下载;能并行化操作以最大资源利用率
  • 可靠:使用格式详尽而又简洁的 lockfile文件 和确定性算法来安装依赖,能够保证在一个系统上的运行的安装过程也会以同样的方式运行在其他系统上。
  • 安全: 安装包被执行前校验其完整性
yarn速度比npm快一些, yarn的锁文件是yarn.lock, 能解决包版本不一致的情况

【相关推荐:JavaScript视频教程】

以上就是Node.js中package.json中库的版本号的介绍的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

javascript是java语言的脚本形式?

详解js中的json和jsonp

javascript如何设置图片时间

浏览器中5种常用的事件解析

javascript中导入js文件的两种方式

vue框架是什么

javascript怎么隐藏鼠标

javascript怎么改变鼠标指针样式

javascript怎么将整型数据转为字符串

介绍javascript正则实现表达式以字母开头

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




打赏

取消

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

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

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

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

评论

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