我在运行sudo npm安装时得到这个错误。在我的服务器上,npm已经安装好了。我试过删除包锁。Json文件,并运行NPM缓存清理-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

当前回答

在我的情况下,我的linux发行版中缺少sha命令;步骤是

添加了sha512的包(在我的发行版sudo apt install hashalot) NPM缓存验证 Rm -rf node_modules npm安装

其他回答

参见https://github.com/npm/npm/issues/16861

这招对我很管用: NPM缓存验证

然后我又跑了一遍: NPM install -g create-react-app

并按预期安装:问题已解决。


GitHub问题中提到的其他解决方案包括:

NPM缓存清理——force

OR

删除Users%username%\AppData\Roaming (Windows 7和Windows 10)中的npm和npm-cache文件夹,并运行npm install

OR

通过npm i -g npm更新npm

OR

删除package-lock.json

OR

NPM缓存清理

OR

执行以下步骤来解决问题:

查找所有过期包并更新主题: NPM过时-g sudo npm i -g outDatedPKG 将npm升级到最新版本: Sudo NPM I -g NPM 删除package-lock。json文件。 删除~/.npm下的_cache目录: NPM缓存验证 每次我得到错误,执行步骤2和3。 如果你仍然得到错误,清除npm的缓存: NPM缓存清理——force

OR

添加代理到~目录下的.npmrc:

代理= http://localhost: 8123 https-proxy = http://localhost: 8123

再试一次!缓慢的网络连接和审查制度可能会导致这个丑陋的问题。

OR

NPM cache clear—force && NPM install—no-shrinkwrap—update-binary

OR

NPM的包锁设置为false

删除package-lock。Json文件,然后尝试安装

试试下面的方法:

npm cache clean --force

这对我来说很有效。

这一点还没有提到,但请确保您的系统时间是正确的。如果太不同步,将导致一个EINTEGRITY错误。当你在执行npm publish / install时。

在你的项目上运行下面的命令..

npm rm -rf node_modules && npm rm package-lock.json && npm rm -rf ~/.npm && npm install --update-binary --no-shrinkwrap