Node.js npm SSL错误:使用sha512时完整性校验和失败

Node.js npm SSL错误:使用sha512时完整性校验和失败,node.js,ssl,networking,npm,Node.js,Ssl,Networking,Npm,我不能用npm安装任何东西 我在用什么? 节点v10.16.0 npm v6.9.0 windows 7 x64 使用MITM内容检查工具的公司代理(可能的罪魁祸首) 我在做什么? npm安装节点sass-g 发生了什么事? 根据配置,我会遇到以下两个错误之一: npm ERR! code SELF_SIGNED_CERT_IN_CHAIN 我试过什么? 代理配置: npm配置集http代理http://user:password@代理:端口 npm配置集https代理http://use

我不能用npm安装任何东西

我在用什么?

  • 节点v10.16.0

  • npm v6.9.0

  • windows 7 x64

  • 使用MITM内容检查工具的公司代理(可能的罪魁祸首)

我在做什么?

npm安装节点sass-g

发生了什么事?

根据配置,我会遇到以下两个错误之一:

npm ERR! code SELF_SIGNED_CERT_IN_CHAIN
我试过什么?

代理配置:

npm配置集http代理http://user:password@代理:端口

npm配置集https代理http://user:password@代理:端口

单凭这一点过去就行了

清洁安装:

我已卸载节点和npm,从
C:\Users\me\AppData\Roaming
中删除了文件夹
npm
npm缓存
,并从
C:\Users\me
中删除了
.npmrc
。 我还运行了
npm cache clean--force
&
npm cache verify

在此之后,我尝试了新安装的节点v10.16.0和v10.15.3(npm 6.4.1)

禁用SSL:

  • npm config set strict ssl false
  • 将windows本地和系统EVNIR环境变量
    NODE\u TLS\u REJECT\u UNAUTHORIZED
    设置为0
CA配置:

我已从
Internet选项>内容>证书>受信任的根证书颁发机构导出所有公司证书
。我已经将它们导出到单独的Base 64编码的X.509
.cer
文件中,并创建了一个单独的
bundle.cer
文件并将它们合并在一起

然后,我尝试通过以下所有方式使用此功能:

  • npm配置设置文件C:\\certs\\cert1.cer

  • npm配置集cafile C:\\certs\\cert2.cer

  • npm配置设置文件C:\\certs\\cert3.cer

  • npm配置集cafile C:\\certs\\bundle.cer

  • npm配置集ca BASE64代码取自每个cer文件

  • 将windows环境变量
    NODE\u EXTRA\u CA\u CERTS
    设置到上面的每个文件

包锁:

一些帖子建议删除
包锁.json
。我没有这个,因为我是在全球安装的,而不是在本地项目中。我已尝试在本地目录中不使用全局标志进行安装。我也遇到同样的SSL问题


救命啊

短期解决方案:增加了npm注册的豁免。仍然想知道如何正确地配置npm以在代理和MITM之后工作。您找到答案了吗?@AndiAR除了白名单之外,不幸的是没有。
npm ERR! code EINTEGRITY
npm ERR! sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== integrity checksum failed when using sha512: wanted sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== but got sha512-jIvvQweolCmipqZXjsC8NUIKS/iux7/bKsBBZQCCMibvCg/eNyz0L7L7ddO9r1dRStqWyBlrHFUPRrF56wCr/A==. (2121 bytes)