问题描述
运行sudo npm install
时出现此错误。在我的服务器上,早先安装了npm。我试图删除package-lock.json
文件,并运行npm cache clean --force
,但它不起作用。
我的npm版本是5.3.0。
错误:
npm ERR! code EINTEGRITY
npm ERR! sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== integrity checksum failed when using sha512: wanted sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== but got sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==. (65117 bytes)
npm ERR! A complete log of this run can be found in:
npm ERR! /home/ubuntu/.npm/_logs/2017-11-29T05_33_52_182Z-debug.log
最佳解决思路
请参阅https://github.com/npm/npm/issues/16861
这对我有用:npm cache verify
然后我re-ran:npm install -g create-react-app
并按预期安装:问题已解决
github问题中提到的其他解决方案包括:
npm cache clean --force
要么
删除Users%username%\AppData\Roaming
(Windows 7)中的npm和npm-cache文件夹并运行npm install
要么
通过npm i -g npm
更新npm
要么
删除package-lock.json
要么
npm cache verify
要么
npm cache clean
要么
执行以下步骤来解决问题:
-
查找所有过时的软件包并更新主题:
npm outdated -g
sudo npm i -g outDatedPKG
-
使用以下命令将npm升级到最新版本:
sudo npm i -g npm
-
删除
package-lock.json
文件。 -
删除
~/.npm
中的_cacache
目录:npm cache verify
-
每当我收到错误时,请执行第2步和第2步。 3。
-
如果仍然出现错误,请清除npm的缓存:
npm cache clean --force
要么
-
将代理添加到
~
目录中的.npmrc
:
proxy=http://localhost:8123
https-proxy=http://localhost:8123
-
再试一次!缓慢的互联网连接和审查可能会导致这个丑陋的问题。
要么
npm cache clear --force && npm install --no-shrinkwrap --update-binary
要么
npm config set package-lock false
次佳解决思路
删除package-lock.json文件,然后尝试安装
第三种解决思路
我的问题是两件事:
-
错误的package-lock.json文件
-
npm-shrinkwrap.json与package-lock.json文件的存在
我做的是:
-
删除了package-lock.json文件
-
删除npm-shrinkwrap.json文件
-
再次安装npm(重新创建了一个好的package-lock文件)
修正了我的错误!
第四种思路
实际上,上述内容与服务器端的网络连接有关。当我在服务器中具有良好的连接性时,npm安装变得很好并且没有抛出任何错误
第五种思路
这个问题确实存在于package-lock.json中,并且在用另一个分支的工作版本替换它之后就可以了。
有趣的是看到差异:
因此,在package-lock.json中确实存在一些完整性校验和,以验证您正在下载的文件是否未被篡改。只是在某种程度上,我们的package-lock.json中使用SHA1而不是SHA-512校验和替换了完整性校验和。我不知道这是怎么发生的。
第六种思路
请尝试以下方法:
npm cache clean --force
这对我有用。
第七种思路
这里有几个有效且有用的回复,但我想补充一点,在我的情况下,最简单的解决方案是:
-
删除package-lock.json;
-
删除文件夹AppData \ Local \ npm \ cache或AppData \ Roaming \ npm \ cache;
-
删除文件夹node_modules.staging;
-
再次运行npm install。
之后一切顺利。
第八种思路
要解决此问题,请按照以下步骤操作:
-
转到项目目录
-
删除node_modules目录:
rm -rf node_modules
-
删除package-lock.json文件:
rm package-lock.json
-
清除缓存:
npm cache clean --force
-
运行
npm install --verbose
如果按照上述步骤仍然存在问题,请使用–verbose向我们提供安装命令的输出。