记录 npm 出现 npm ERR! code EINTEGRITY 原因排查

报错场景:新 clone 的项目代码执行 npm i 安装依赖时出现

报错信息:npm ERR! code EINTEGRITY

报错原因:package-lock.json 中对应依赖的哈希值与库中的哈希值不一致导致

网上解决办法:

  • npm cache clean --force 之后再执行 npm install,结果无效
  • npm install -g npm 之后再执行 npm install,结果无效
  • 删除 package-lock.json 再执行 npm install,结果无效(公司项目使用Angular版本低于全局Angular版本,无法安装)

个人解决办法:

  • 根据报错哈希值定位到是 package-lock.json 中的哪个依赖包
  • 发现是公司自己封装的共享库,执行公司提供的更新脚本
  • 该依赖包成功更新,之后执行 npm install 成功安装无报错