npm安装包-遇到的warn信息

在docker部署前端静态资源时遇到如下信息
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I’ll try to do my best with it!

我的本地环境版本如下

  • node v14.17.0
  • npm v7.x

Google后找到了原因。npm版本不同,对应lock文件版本也不同,具体表现之一即lockfileVersion 字段值就不同。比如npm对于v6 lockfileVersion为1,而v7 lockfileVersion为2

我这里本地安装生成package.lock是使用npm v7生成的,而在docker部署中我是使用 Node v14.17.0中内置的NPM即v6进行的包安装,因此会产生该warning信息。

解决办法即本地改变npm为v6,重新生成下lock文件即可。当然也可以docker中控制npm版本为v7即可。