npm install 出现EINTEGRITY 问题解决

问题:
npm私服是用 verdaccio 搭的,npm i [email protected]时报错EINTEGRITY,期望是str1, 实际是str2

分析:
切换到npm6.12,npm cache clean -f 减少干扰
npm v [email protected],返回的digest是str1
npm install A, 报错,实际算出来的是str2

查看npm源码,到ssri这个包,下面代码计算文件的sha512hash


image.png

手动下载包,openssl dgst -sha512 -binary A.tgz | openssl base64, 结果确实是str2。那问题可能就出在私服了

解决:
登录私服,进入storage下A包目录,查看package.json, 找1.1.0的描述,发现integrity就是str1,手动修改为str2后 安装就正常了

补充:
使用npm4安装,报的shasum不一致,同样登录私服查看,发现该版本shasum也不正确,手动修改后正常。

追加:node-gyp报错,Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.4/fse-v1.2.4-node-v72-darwin-x64.tar.gz
解决: 升级fsevents到1.2.9

你可能感兴趣的:(npm install 出现EINTEGRITY 问题解决)