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


132

运行时出现此错误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

请参阅下面的解决方案来避免引起问题的原因,特别是在连接性很重要的情况下。
SherylHohman '17

在我的情况下,只需再次运行命令即可!
kds23

1
运行以下2条命令解决了我的问题。$ rm -rf package-lock.json node_modules $ npm install

Answers:


199

参见https://github.com/npm/npm/issues/16861

这为我工作:
npm cache verify

然后我重新运行:
npm install -g create-react-app

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


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

npm cache clean --force

要么

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

要么

通过更新npm npm i -g 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. 删除_cacache目录~/.npmnpm cache verify
  5. 每次遇到该错误时,请执行步骤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


1
谢谢!这非常有帮助,我解决了选择某些给定选项的问题。
jfajunior

超级!! 很高兴提供帮助:-)
SherylHohman

3
首先,谢丽尔:感谢您抽出宝贵的时间回答这个问题。很明显,您的回答对人们很有帮助。我可以问一下这些替代方案分别做什么,为什么有些替代方案却行不通?谢谢!
安德列斯·F

1
@AndresF。我对纱线的底线如何工作或何时/为什么某些方法优于其他方法没有深入的了解。在某些情况下,它们实质上完成了同一件事,但以不同的方式触发了它。我链接到提出了所有这些解决方案的github问题-这是我的答案中已编译列表的来源。我建议研究一下yarn和npm的底层,或者检查链接的github问题,如有必要,还可以联系各个作者。
SherylHohman

如果在本地计算机上的节点js版本中有任何更新,它将通过此​​错误进行。
gnganpath


24

实际上,以上内容与服务器端的网络连接有关。当我在服务器中具有良好的连接性时,npm安装进展顺利,并且未引发任何错误


1
我的矿山在切换到VPN连接后开始工作,因此绝对是连接问题
bmukorera

13

我的问题是两件事:

  1. 错误的package-lock.json文件
  2. npm-shrinkwrap.json和package-lock.json文件的存在

我所做的是:

  1. 删除了package-lock.json文件
  2. 删除npm-shrinkwrap.json文件
  3. 再次执行npm install(重新创建了一个好的程序包锁定文件)

解决了我的错误!


我在AWS Codebuild上构建此问题。这对我有用。谢谢。
伯蒂

10

问题确实在 package-lock.json,并且在用另一个分支的工作版本替换了它之后,它起作用了。

有趣的是看到差异:

差异

因此,确实存在一些完整性校验和,package-lock.json以验证您所下载的文件没有被篡改。只是某种程度上,完整性校验和在我们package-lock.json中被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==

并将第三个校验和放入其“完整性”字段中:

sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==

这里有更详细的描述。


package-lock.json文件在哪里?
Mamen '18

应用程序根目录中的@Mamen,下一个tp package.json。package.json列出了应用程序进行编译/运行所需的依赖项(程序包)。当您运行yarn install或时yarn,将下载并安装该文件中列出的软件包,因此可以运行项目/应用程序。“锁定”文件是npm和yarn之间的一个区别,可确保卷装版本和完整性。
SherylHohman '18

1
唯一接近为我解决的解决方案。删除也package-lock.json应予以补救。至少在我看来。尽管这显然是不可取的。公平地说,我必须在这里提到OP试图删除文件,因此该答案所针对的情况可能有所不同。
x-yuri

4

尝试以下方法:

npm cache clean --force

这对我有用。


3
这不会给此处已经存在的答案增加任何价值。投票率最高的评论已经提到npm cache clean --force,因此此答案读作是噪音。
再见StackExchange

2
尽管此代码可以回答问题,但提供有关如何和/或为什么解决问题的其他上下文将提高​​答案的长期价值。
唐老鸭

4

解决方法,请按照以下步骤操作:

  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。

我是npm的新手。详细给了我一些提示。
Andi AR

3

这里有几个有效和有用的回复,但是我想补充一点,就我而言,最简单的解决方案是:

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

之后,一切运行顺利。


2

我正在使用私有npm注册表,并尝试安装私有npm模块。登录到npm本地注册表修复了它(使用的命令npm --add-user


2

我在这个问题上坚持了很长时间,这就是帮助我的原因。

试试这个:

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

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


1

SherylHohman的答案解决了我遇到的问题,但仅在切换了Internet连接之后。最初,我在工作中使用硬线连接,然后在工作中切换到WiFi连接,但这仍然没有用。

作为最后的选择,我将WiFi切换为袖珍WiFi,并成功运行以下命令:

npm cache verify

npm install -g create-react-app

create-react-app app-name

希望这对其他人有帮助。



1

尚未提及,但请确保您的SYSTEM TIME是正确的。如果太不同步,将导致EINTEGRITY错误。在执行npm时,发布/安装。


0

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

npm config set @scope_name:registry SCOPED_REGISTRY_URL

npm config set registry PUBLIC_REGISTRY_URL


0

在您的项目上运行以下命令。

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

0

我在组织的代理后面,运行以下命令为我解决了此问题

npm config set proxy http://proxy.yourproxydomain.com:port
npm config set https-proxy http://proxy.yourproxydomain.com:port
npm config set strict-ssl false
npm config set registry https://registry.npmjs.org/

0

在我工作的公司中,我们多次遇到这个问题。node_modules从.nvm文件夹中删除该文件夹可解决此问题:

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



0

我遇到了同样的问题。另外,当我试图通过选择其他开发人员的解决方案来解决问题时,遇到了一些其他问题,例如此处列出的问题。

Angular 9 ng new myapp给出错误原理图工作流程失败

https://medium.com/@codewin/npm-warn-deprecated-request-2-88-2-b6da20766fd7

最后,在尝试清除缓存并验证并重新安装了不同版本的节点以及npm更新,nvm和许多其他解决方案(如设置代理和更好的Internet连接)之后,我仍然无法解决。

对我有用的是:我在C:\ Users ---文件夹中浏览了一下,找到package-lock.json和.npmrc文件。我删除了这些,然后重新安装了angular并尝试了。npm安装和卸载不同的模块开始工作。

使用<code> ng新的示例应用</ code>创建时出现的问题



0

我遇到了这个问题。这是我的网络连接。我更改了网络(从宽带WiFi到4G WiFi)并尝试了。有效。

我的宽带ISP阻止了所有http请求。这可能就是我猜测的原因。


0

在我检查路由器设置之前,所有解决方案都对我失败;它设置为仅IPV4。我更改了ipv4v6,现在一切正常。


0

上面的答案对我都不起作用。我的问题的解决方案是更改package.json中使用快照依赖项的方式。使用以下模板提取所需的快照依赖项

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

-1

试试这个

  Step-1) Delete package-lock.json from root folder.
  Step-2) Delete node_modules folder
  Step-3) run npm install command in root
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.