我在运行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

当前回答

我在升级到节点18时遇到了这个问题——我的包锁文件保留了来自我们团队不再使用的自定义注册表的陈旧解决方案。

不幸的是,移除包锁、清除缓存和运行npm install还不够。

在package-lock和npm install中删除过时的分辨率为我解决了这个问题。

这里我删除了以“resolved”开头的行:

// package-lock.json

     "node_modules/closest-file-data": {
       "version": "0.1.4",
-      "resolved": "https://foo.foobar.io/foo/api/npm/npm-dev/closest-file-data/-/closest-file-data-0.1.4.tgz"
,
       "integrity": "sha1-l1+HwTLymdJKA3W59jyj+4j3Kzo=",

通常你希望避免手动修改这个文件,但我的机器一直坚持我使用缓存包

其他回答

对我来说,简单而快速的修复是npm安装特定的包,它说sha是错误的。比如说你的包装被称为awesome-package。

我的解决方案是:

我的包装很棒

这更新了package-lock.json中的sha。

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

我有一个非常相似的问题,在我的情况下,它是这样工作的:

npm clean

这是一个核心选项,因为它会清除缓存中的每个包。

在我工作的公司里,我们遇到过很多次这样的问题。从.nvm文件夹中删除node_modules文件夹修复了这个问题:

rm -rf ~/.nvm/versions/node/v8.6.0/lib/node_modules

我遇到了这个问题。这是我的网络连接。我换了网络(从宽带WiFi到4G WiFi)并尝试了一下。它工作。

我的宽带ISP屏蔽了所有的http请求。我想这可能是我的原因。