npm install package-lock.json会改变

npm install package-lock.json会改变

问题:npm install 后 package-lock会改变,项目编译报错。。

原因:package-lock.json里是会保存项目所有的依赖(包括依赖的依赖)的版本,下载地址等。 因为项目package.json中对依赖版本不同的要求,会有不同写法,比如限定最低版本,限定版本范围等等。所以在不同时间运行npm i,可能期间有些依赖会出新的版本,造成package-lock.json变动。 就算自己的项目直接依赖固定了版本号,但是你的依赖的依赖没法固定,也会出现这种现象。

解决方法: nmp 5.8还是5.9添加了新命令,npm ci用于完全从package-lock.json来快速安装依赖,不会产生这个问题。