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

当前回答

将.npmrc和注册表更新为https://对我来说很有效

registry=https://registry.npmjs.org/

其他回答

更新.npmrc文件中有作用域包和无作用域包的条目对我来说很有效。 所以我最终使用了

设置注册表SCOPED_REGISTRY_URL

and

设置注册表PUBLIC_REGISTRY_URL

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

我也有同样的问题。我使用yarn而不是npm来安装依赖项,它是有效的。

yarn add *****

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

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

我在升级到节点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=",

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