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

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


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

这招对我很管用: NPM缓存验证

然后我又跑了一遍: NPM install -g create-react-app

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


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

NPM缓存清理——force

OR

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

OR

通过npm i -g npm更新npm

OR

删除package-lock.json

OR

NPM缓存清理

OR

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

查找所有过期包并更新主题: NPM过时-g sudo npm i -g outDatedPKG 将npm升级到最新版本: Sudo NPM I -g NPM 删除package-lock。json文件。 删除~/.npm下的_cache目录: NPM缓存验证 每次我得到错误,执行步骤2和3。 如果你仍然得到错误,清除npm的缓存: NPM缓存清理——force

OR

添加代理到~目录下的.npmrc:

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

再试一次!缓慢的网络连接和审查制度可能会导致这个丑陋的问题。

OR

NPM cache clear—force && NPM install—no-shrinkwrap—update-binary

OR

NPM的包锁设置为false


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

设置注册表SCOPED_REGISTRY_URL

and

设置注册表PUBLIC_REGISTRY_URL


删除package-lock。Json文件,然后尝试安装


谢丽尔·霍曼的回答解决了我的问题,但前提是我换了网络连接。起初,我在工作时使用的是硬线连接,后来我在工作时切换到WiFi连接,但还是不行。

最后,我把我的WiFi换成了袖珍WiFi,下面的运行效果很好:

npm cache verify

npm install -g create-react-app

create-react-app app-name

希望这能帮助到其他人。


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

有趣的是看到差异:

在包锁中确实有一些完整性校验和。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==

这里有更详细的描述。


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

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

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


我有一个非常相似的问题,在我的情况下,它是这样工作的:

npm clean

这是一个核心选项,因为它会清除缓存中的每个包。


在你的项目上运行下面的命令..

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 node_modules .删除“node_modules”目录 删除package-lock。Json文件:rm package-lock.json 清除缓存:npm cache clean——force 执行npm install——verbose命令 如果在执行以上步骤后问题仍然存在,请向我们提供安装命令的输出——verbose。


我的问题有两个:

坏package-lock。json文件 npm-shrinkwrap的存在。Json和包锁。json文件

我所做的是:

删除包锁。json文件 删除npm-shrinkwrap。json文件 再次运行npm install(重新创建了一个好的包锁文件)

修正了我的错误!


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


在我工作的公司里,我们遇到过很多次这样的问题。从.nvm文件夹中删除node_modules文件夹修复了这个问题:

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

我被困在这个问题上很长一段时间,这就是帮助我的东西。

试试这个:

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

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


试试这个

  Step-1) Delete package-lock.json from root folder.
  Step-2) Delete node_modules folder
  Step-3) run npm install command in root

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

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

这一点还没有提到,但请确保您的系统时间是正确的。如果太不同步,将导致一个EINTEGRITY错误。当你在执行npm publish / install时。


在终端中输入“ipconfig”或“ifconfig”时,应选择“连接特定的DNS后缀”


我也遇到过同样的问题。此外,当我尝试着从其他开发者那里选择解决方案时,我遇到了更多类似于这里所列出的问题。

Angular 9 ng new myapp报错

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

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

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


在我执行这个命令之前

npm install typescript -g

改变命令后,它工作得很好。

npm install -g typescript

我遇到了这个问题。这是我的网络连接。我换了网络(从宽带WiFi到4G WiFi)并尝试了一下。它工作。

我的宽带ISP屏蔽了所有的http请求。我想这可能是我的原因。


在我检查路由器设置之前,所有解决方案都失败了;它被设置为IPV4..我改变了,把ipv4v6,现在一切都很好。


上面的答案对我都没用。我的问题的解决方案是改变在package.json中使用快照依赖项的方式。使用下面的模板拉入所需的快照依赖项

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

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

npm cache verify 
npm install 
npm start

我也有同样的问题。我使用yarn而不是npm来安装依赖项,它是有效的。

yarn add *****

在遍历了所有答案并执行了大部分之后。虽然我拒绝尝试重启魔法,但最终,在我的macbook(MacOS Catalina Ver. 10.15.7)上重新启动后,这个问题得到了解决。

这似乎确实是一个缓存问题,但我所执行的命令都没有清除缓存。


对我有用的是npm缓存验证,然后重新运行你的命令。一切都应该是好的。


在我的情况下,我的linux发行版中缺少sha命令;步骤是

添加了sha512的包(在我的发行版sudo apt install hashalot) NPM缓存验证 Rm -rf node_modules npm安装


对我来说,简单而快速的修复是npm安装特定的包,它说sha是错误的。比如说你的包装被称为awesome-package。

我的解决方案是:

我的包装很棒

这更新了package-lock.json中的sha。


如果以上方法都不能解决你的问题,那么就升级你的npm版本并尝试一下。这对我很管用。


确保您没有运行VPN


更新nodejs版本对我有用。

curl - ssl https://deb.nodesource.com/setup_12.x | sudo - e bash - Sudo apt-get install -y nodejs


我在升级到节点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=",

通常你希望避免手动修改这个文件,但我的机器一直坚持我使用缓存包