npm ERR! code EINTEGRITY处理
现象
当编译npm出现一下错误信息:
npm ERR! sha512-EMPD3fzKe7oayx9keD/GA1oKatcx7j5CGlkJj5eLS0/eEDDEkxVj3DFmKOPuHYt4BK7ltTzMFS+quSTmqUXPiw==
integrity checksum failed when using sha512:
wanted sha512-EMPD3fzKe7oayx9keD/GA1oKatcx7j5CGlkJj5eLS0/eEDDEkxVj3DFmKOPuHYt4BK7ltTzMFS+quSTmqUXPiw==
but got sha512-Kl1zJ/HfFIjg0zYQRDgFU06/w54hkMgZGQH9iXXMww1BQ+855mvOivKWqsoDm7iSrlZXzKZQKB3DGEuUjGW5rw==. (1990144 bytes)
根源
表示某个包的当前下载sha512与之前记录的不一致,这种可能情况是:本地下载过某个包,然后对应的被unpublish后再次publish导致文件的sha512发生了变化。
处理方式
方法一: npm cache verify
方法二: npm cache clean --force
方法三: 打开你项目的package-lock.json 用上面的sha512搜索,找到对应的包,替换integrity的值(原因:已发布包unplish后再次publish,导致sha512的值改变了)
方法四: (如是自研仓库): 进入自研仓库库,如是远程下载的包,选择指定版本,删除包,从官网重新拉取包