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

当前回答

我被困在这个问题上很长一段时间,这就是帮助我的东西。

试试这个:

npm cache clean --force
npm install --update-binary --no-shrinkwrap

在深入研究GitHub问题后找到了这个答案!!

其他回答

上面的答案对我都没用。我的问题的解决方案是改变在package.json中使用快照依赖项的方式。使用下面的模板拉入所需的快照依赖项

"dependency": "git+http://github.com/[pathtoproject].git#[branchname]",

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

我的解决方案是:

我的包装很棒

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

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

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

参见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

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

npm clean

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