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

当前回答

这对我很管用。 在CMD中打开项目 运行

npm cache verify 
npm install 
npm start

其他回答

实际上,这与服务器侧的网络连通性有关。当我在服务器上有良好的连接时,npm安装很好,没有抛出任何错误

我在升级到节点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注册表,并试图安装私有npm模块。登录到npm本地注册表修复它(使用命令npm——add-user)

这里有一些有效和有用的回答,但我想补充的是,在我的情况下,最简单的解决方案是:

删除package-lock.json; 删除文件夹AppData\Local\npm\cache或AppData\Roaming\npm\cache; 删除文件夹node_modules.staging; 再次运行npm install。

从那以后,一切都很顺利。

问题确实出在包锁上。在用另一个分支的工作版本替换它之后,它工作了。

有趣的是看到差异:

在包锁中确实有一些完整性校验和。Json,它在package-lock中被替换。使用SHA1代替SHA-512校验和。更多信息请看这里。

以防您在另一个分支中没有工作版本。考虑信息

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)

在package-lock中找到包。Json使用第一个校验和:

sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==

然后将第三个校验和放入它的“integrity”字段:

sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==

这里有更详细的描述。