当前位置: 首页>>技术教程>>正文


当我运行`npm install`时,它返回`ERR!代码EINTEGRITY`(npm 5.3.0)

, , ,

问题描述

运行sudo npm install时出现此错误。在我的服务器上,早先安装了npm。我试图删除package-lock.json文件,并运行npm cache clean --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

最佳解决思路

请参阅https://github.com/npm/npm/issues/16861

这对我有用:npm cache verify

然后我re-ran:npm install -g create-react-app

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


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

npm cache clean --force

要么

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

要么

通过npm i -g npm更新npm

要么

删除package-lock.json

要么

npm cache verify

要么

npm cache clean

要么

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

  1. 查找所有过时的软件包并更新主题:npm outdated -g sudo npm i -g outDatedPKG

  2. 使用以下命令将npm升级到最新版本:sudo npm i -g npm

  3. 删除package-lock.json文件。

  4. 删除~/.npm中的_cacache目录:npm cache verify

  5. 每当我收到错误时,请执行第2步和第2步。 3。

  6. 如果仍然出现错误,请清除npm的缓存:npm cache clean --force

要么

  1. 将代理添加到~目录中的.npmrc

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

  1. 再试一次!缓慢的互联网连接和审查可能会导致这个丑陋的问题。

要么

npm cache clear --force && npm install --no-shrinkwrap --update-binary

要么

npm config set package-lock false

次佳解决思路

删除package-lock.json文件,然后尝试安装

第三种解决思路

我的问题是两件事:

  1. 错误的package-lock.json文件

  2. npm-shrinkwrap.json与package-lock.json文件的存在

我做的是:

  1. 删除了package-lock.json文件

  2. 删除npm-shrinkwrap.json文件

  3. 再次安装npm(重新创建了一个好的package-lock文件)

修正了我的错误!

第四种思路

实际上,上述内容与服务器端的网络连接有关。当我在服务器中具有良好的连接性时,npm安装变得很好并且没有抛出任何错误

第五种思路

这个问题确实存在于package-lock.json中,并且在用另一个分支的工作版本替换它之后就可以了。

有趣的是看到差异:

node.js,linux,ubuntu,npm

因此,在package-lock.json中确实存在一些完整性校验和,以验证您正在下载的文件是否未被篡改。只是在某种程度上,我们的package-lock.json中使用SHA1而不是SHA-512校验和替换了完整性校验和。我不知道这是怎么发生的。

第六种思路

请尝试以下方法:

npm cache clean --force

这对我有用。

第七种思路

这里有几个有效且有用的回复,但我想补充一点,在我的情况下,最简单的解决方案是:

  1. 删除package-lock.json;

  2. 删除文件夹AppData \ Local \ npm \ cache或AppData \ Roaming \ npm \ cache;

  3. 删除文件夹node_modules.staging;

  4. 再次运行npm install。

之后一切顺利。

第八种思路

要解决此问题,请按照以下步骤操作:

  1. 转到项目目录

  2. 删除node_modules目录:rm -rf node_modules

  3. 删除package-lock.json文件:rm package-lock.json

  4. 清除缓存:npm cache clean --force

  5. 运行npm install --verbose如果按照上述步骤仍然存在问题,请使用–verbose向我们提供安装命令的输出。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6755.html,未经允许,请勿转载。