jac*_*285 30 node.js npm visual-studio-2015
我有问题让NPM正确安装.我已经尝试单步执行堆栈溢出中的几个帖子的指示,特别是来自这个线程: 使用npm install时出现SELF_SIGNED_CERT_IN_CHAIN错误
我也试过浏览NPM网站上的文档:http: //blog.npmjs.org/post/78165272245/more-help-with-selfsignedcertinchain-and-npm
我每次尝试安装时仍然收到错误.请指教.
ken*_*orb 57
如果您在公司代理(使用例如Blue Coat)后面,则应使用http而不是https来存储库地址,例如
npm config set registry="http://registry.npmjs.org/"
Run Code Online (Sandbox Code Playgroud)
请参阅:错误:SSL错误:使用npm时SELF_SIGNED_CERT_IN_CHAIN.
您还可以将失败的自我证书导入系统并在安装包时标记为受信任或临时禁用SSL验证(快速但不推荐的方法):
npm config set strict-ssl false
Run Code Online (Sandbox Code Playgroud)
请参阅:错误:SSL错误:使用npm时SELF_SIGNED_CERT_IN_CHAIN.
推荐的方式(更痛苦)只是指向正确的证书文件,例如
npm config set cafile "<path to your certificate file>"
Run Code Online (Sandbox Code Playgroud)
请参阅:如何在Windows上运行Npm时修复SSL证书错误?.
M. *_*out 11
我知道这个问题几年前就已经发布了。由于它仍然出现在 Google 的顶部结果中,我想分享我针对此问题的正确且安全的解决方案。
我想建议大家确保使用 https 注册表来保证您的连接安全。另外,停止禁用 strict-ssl。许多人都忽略了这一点,并寻求快速修复而不是正确的解决方案。
您必须将.pem
证书添加到文件(npm config)中.npmrc
。当您只需要添加一个证书时,请使用以下命令:
npm config set cafile /path/to/cert.pem
Run Code Online (Sandbox Code Playgroud)
当您的公司使用多个证书(例如我的)时,您首先需要.pem
通过在终端中输入以下命令将证书合并为一个:
cat cert1.pem cert2.pem > cert_combined.pem
Run Code Online (Sandbox Code Playgroud)
然后确保.pem
在您的目录中指向正确的文件.npmrc
npm config set cafile /path/to/cert_combined.pem
Run Code Online (Sandbox Code Playgroud)
忘记其他人提到的解决方案,例如ca[]="..."
和NODE_EXTRA_CA_CERTS
。此解决方案在使用节点 v16.13.0 和 npm v8.3.0 的多个颁发机构根证书的公司内进行了测试和验证。
这对我有用:
$ export NODE_TLS_REJECT_UNAUTHORIZED=0
$ npm install
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34285 次 |
最近记录: |