package-lock.json 的作用,如果项目中没有的解决方案

package-lock.json作用:是将使用的库的版本锁定,如果下次再安装依然使用这些版本的库

当开发者根据package.json安装依赖时,文件中声明的依赖版本号不是具体的,而是向新兼容下载的(下载主版本最新的版本)。
package-lock.json 是在 npm install时候生成一份文件,用来记录当前状态下实际安装的各个npm package的具体来源和版本号。
当项目中其他开发者或一个新的环境,或新的下载源,重新安装依赖时,目录下包含这个文件,就会锁定安装时依赖的来源和版本号,保证每个开发者安装的依赖都是一样的。

在工作中我们经常会碰到的场景是同事机器上能跑的代码,在我这新装一遍跑不了,可能就是有些库更新后不兼容当前使用的场景,具体原因如下:

  1. 和别的库冲突
  2. 调用api变化
  3. 和当前开发环境不兼容

产生原因是package.json里写库的版本很多时候是~1.0这样的写法,意思是只要大版本一样,后面小版本会用最新的,除非是1.0这样的写法,才是指定一个版本

在项目中没有package-lock.json时的解决方案:

  1. 执行安装一次npm install,它就会自动生成
  2. 如果你用npm,同事也一定要用npm,如果对方用yarn(yarn对应的是yarn.lock),就不起作用,这种情况就只能写死package.json容易出问题的库的版本
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值