npm install 失败,报错 error sha512
报错详细信息:
30626 error code EINTEGRITY
30627 error sha512-tNJnAXDyBOCHyfmgK+odbm7e5HUFlvk6TREz75IDCJIjVH3JyyRYmY/76PFB9yN3NarT936aCdo1TOpRSJSuXw== integrity checksum failed when using sha512: wanted sha512-tNJnAXDyBOCHyfmgK+odbm7e5HUFlvk6TREz75IDCJIjVH3JyyRYmY/76PFB9yN3NarT936aCdo1TOpRSJSuXw== but got sha512-BNss9biEIWUUNUtuqACgnFYzvaDvrPRZ+ZUFlsm465fzkQKcEGOedgTJvlD5V9rgYidCqmjjr/4RqK4Pcy6G8A==. (7154 bytes)
30628 verbose exit [ 1, true ]
试了清理缓存,npm cache clean --force,,删除package-lock.json 和node_modules也没有解决。
最后发现代码中有一个npm-shrinkwrap.json文件,删除它后,再执行npm install,成功了。
npm-shrinkwrap.json有啥作用呢?它是node.js用于锁定依赖包的,作用和package-lock.json差不多,但是有区别,详细的大家可以网上查一下。