npm 错误! npm install 时代码 EINTEGRITY

Posted

技术标签:

【中文标题】npm 错误! npm install 时代码 EINTEGRITY【英文标题】:npm ERR! code EINTEGRITY while npm install 【发布时间】:2020-01-19 06:11:20 【问题描述】:

当我尝试安装 npm 时,我得到了这个错误

  npm ERR! code EINTEGRITY
    npm ERR! 
    sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA== 
    integrity checksum failed when using sha512: wanted sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA== but got sha5
        12-jGhWI9FADblpQKmyQF4BghrHs6FLV3dYFHVWcvj0xIUzHuO41PPfUlZOUplwasz72FRE2Knsa0wWubWldC9Jpw==. (3240 bytes)
        npm WARN tar invalid entry
        npm WARN tar invalid entry
        npm WARN tar invalid entry
        npm WARN tar invalid entry
        npm WARN tar invalid entry
        npm WARN tar invalid entry

我试过了,

npm cache verify
npm cache clean --force

我已经删除了 package-lock.json 文件,

将代理添加到 .npmrc 和其他配置,如 strict-ssl=false, NODE_TLS_REJECT_UNAUTHORIZED=0

版本:

npm version
 npm: '6.11.3',
  ares: '1.15.0',
  brotli: '1.0.7',
  cldr: '35.1',
  http_parser: '2.8.0',
  icu: '64.2',
  modules: '64',
  napi: '4',
  nghttp2: '1.39.2',
  node: '10.16.3',
  openssl: '1.1.1c',
  tz: '2019a',
  unicode: '12.1',
  uv: '1.28.0',
  v8: '6.8.275.32-node.54',
  zlib: '1.2.11' 

node -v
v10.16.3

【问题讨论】:

你应该提供 npm 版本的细节,以及你的 package.json 的内容。您是否尝试确定哪个包实际上给出了错误。可能是您最近添加的软件包导致了问题。 C:\Users\I_SAHIN15>npm 版本 npm: '6.11.3', ares: '1.15.0', brotli: '1.0.7', cldr: '35.1',​​ http_parser: '2.8.0',icu:'64.2',模块:'64',napi:'4',nghttp2:'1.39.2',节点:'10.16.3',openssl:'1.1.1c',tz: '2019a', unicode: '12.1', uv: '1.28.0', v8: '6.8.275.32-node.54', zlib: '1.2.11' C:\Users\I_SAHIN15>node -v v10. 16.3 你检查过这个问题了吗? ***.com/questions/47545940/… 是的,我已经检查了相关问题,但它对我不起作用。 @İlyasŞahin 你找到解决办法了吗? 【参考方案1】:

您删除了package-lock.json,因此以下内容可能对您没有用处。就我而言,它起作用了。但首先要确保你了解发生了什么。 npm 告诉您来自https://registry.npm.org 的校验和与来自package-lock.json 的校验和不匹配。要么在注册表中更改,要么...

考虑输出中的一行:

npm ERR! 
  sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA== 
integrity checksum failed when using sha512: wanted
  sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==
but got
  sha512-jGhWI9FADblpQKmyQF4BghrHs6FLV3dYFHVWcvj0xIUzHuO41PPfUlZOUplwasz72FRE2Knsa0wWubWldC9Jpw==
. (3240 bytes)

通过前两个完整性校验和 (sha512-b...) 在 package-lock.json 中找到包,并将第三个 (sha512-j...) 放入其“完整性”字段。

更多信息here。

【讨论】:

【参考方案2】:

这是对我有用的解决方案:

    删除 node_modules 文件夹和 package-lock.json

    rm -rf node_modules package-lock.json

    安装 npm

    npm install

【讨论】:

以上是关于npm 错误! npm install 时代码 EINTEGRITY的主要内容,如果未能解决你的问题,请参考以下文章

npm install ERR! code E400/E404

npm install报错Error: ENOENT

cmd输入npm没反应,npm install 没反应

npm 错误! npm install 时超出最大调用堆栈大小(角度)

npm install mongoose错误解决

npm install 显示错误,找不到 git