报错问题:
npm ERR! code EINTEGRITY
npm ERR! sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ== integrity checksum failed when using sha512: wanted sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ== but got sha512-iiXaOL2wSbnSY4qg0mFPWJHL9iwyEsoNYwaHF2w58/fsVAQJlj+KUfFAFZu+nzbz+b7dUprJEAc+O9vhHHhQTA==. (3599 bytes)
npm ERR! A complete log of this run can be found in:
npm ERR! F:\nodejs\node_cache\_logs\2022-05-03T13_26_56_927Z-debug.log
解决方案:
方式一:
直接删除 package-lock.json 文件,重新执行 npm install 即可。
原因:其实不难发现异常信息中表达的信息就是文件的校验值匹配不上。提到匹配,那一定是涉及到两个东西之间的对比。在这个场景下,一方就是下载下来的文件的sha1值,另一方就是本地记录的sha1值。那本地记录的sha1值是记录在哪里呢?通过全局搜索不难定位到 package-lock.json。简单粗暴操作就是直接删掉 package-lock.json 即可避免sha1校验错误的问题。至于为什么这一次下载的文件的sha1值和上一次下载时记录的sha1值不一致,这还有待考究。
方式二:
升级 npm,重新执行 npm install
升级npm:npm install -g npm
安装项目依赖:npm install
方式三:
清缓存,重新执行 npm install
删除项目下面的:node_modules
删除用户缓存:C:\Users\{USER_NAME}\AppData\Roaming\ 下的 npm和npm-cache
删除全局缓存:{NODE_HOME}/node_cache
验证缓存 :npm cache verify
安装项目依赖: npm install