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

Node.js 当我运行'npm install'时,它返回'ERR!代码EINTEGRITY`(npm 5.3.0),node.js,ubuntu,npm,Node.js,Ubuntu,Npm,我在运行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==

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

实际上,上面提到的是服务器端的网络连接。当我的服务器连接良好时,npm安装正常,没有抛出任何错误

请参见

这对我很有效:
npm缓存验证

然后我重新运行:
npm安装-g创建react应用程序

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


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

npm缓存清理--强制执行

删除
Users%username%\AppData\Roaming
(windows 7)中的npm和npm缓存文件夹并运行
npm安装

通过
npm i-g npm

删除
包锁.json

npm缓存清理

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

rm -rf ~/.nvm/versions/node/v8.6.0/lib/node_modules
  • 查找所有过时的软件包并更新主题:
    npm过时-g

    sudo npm i-g过期dpkg
  • 使用升级npm至最新版本:
    sudo npm i-g npm
  • 删除
    包锁.json
    文件
  • 删除
    \u cacache
    目录中的
    ~/.npm
    npm缓存验证
  • 每次我遇到这个错误,都要执行步骤2和3
  • 如果仍然出现错误,请清除npm的缓存:
    npm缓存清理--强制执行
  • 将代理添加到
    ~
    目录中的
    .npmrc
  • 代理=http://localhost:8123

    https代理=http://localhost:8123

  • 再试一次!缓慢的互联网连接和审查可能会导致这个丑陋的问题
  • npm缓存清除--强制安装&npm--无收缩包装--更新二进制文件


    npm config set package lock false

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

    npm config set@scope\u name:registry SCOPED\u registry\u URL


    npm config set registry PUBLIC\u registry\u URL
    删除package-lock.json文件,然后尝试安装

    解决了我遇到的问题,但只是在我切换了internet连接之后。起初,我在工作时使用的是硬线连接,在工作时我切换到了WiFi连接,但这仍然不起作用

    作为最后手段,我将我的WiFi切换到了袖珍WiFi,运行以下功能效果良好:

    npm cache verify
    
    npm install -g create-react-app
    
    create-react-app app-name
    

    希望这对其他人有所帮助。

    问题确实出在
    package lock.json
    中,在用另一个分支的工作版本替换它之后,它就工作了

    yarn add *****
    
    有趣的是看到差异:

    因此,
    package lock.json
    中确实存在一些完整性校验和,以验证您下载的文件没有被篡改。只是不知何故,完整性校验和在我们的
    包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==
    
    并将第三个校验和放入其“完整性”字段:


    更详细的描述如下。

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

  • 删除package-lock.json
  • 删除文件夹AppData\Local\npm\cache或AppData\Roaming\npm\cache
  • 删除文件夹节点_modules.staging
  • 再次运行npm安装
    在那之后,一切都顺利进行。

    我遇到了一个非常类似的问题,在我的情况下,它通过以下方式起作用:

    npm clean
    

    这是nuclear选项,因为它会将每个包从缓存中清除为expended。

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

    npm rm -rf node_modules && npm rm package-lock.json && npm rm -rf ~/.npm && npm install --update-binary --no-shrinkwrap
    
    请尝试以下操作:

    npm cache clean --force
    

    这对我很有效。

    我支持组织的代理,运行以下命令为我解决了问题

    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/
    

    作为解决方法,请遵循以下步骤:

  • 转到项目目录
  • 删除节点模块目录:
    rm-rf节点模块
  • 删除package-lock.json文件:
    rm package-lock.json
  • 清除缓存:
    npm缓存清除--force
  • 运行
    npm安装--verbose
    如果在执行上述步骤后问题仍然存在,请使用--verbose向我们提供安装命令的输出

  • 我的问题是两件事:

  • 错误的package-lock.json文件
  • npm-shrinkwrap.json和package-lock.json文件的存在
  • 我所做的是:

  • 已删除package-lock.json文件
  • 删除npm-shrinkwrap.json文件
  • 再次运行npm安装(它重新创建了一个良好的包锁定文件)

  • 修正了我的错误

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

    在我工作的公司,我们多次遇到此问题。从.nvm文件夹中删除
    节点\u模块
    文件夹修复了该问题:

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

    我被困在这很长一段时间,这是什么帮助了我

    试试这个:

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

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

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

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

    这一点尚未提及,但请确保您的系统时间正确。如果太不同步,将导致EINTEGRI
    npm install -g typescript
    
    "dependency": "git+http://github.com/[pathtoproject].git#[branchname]",
    
    npm cache verify 
    npm install 
    npm start
    
    yarn add *****