尝试构建“node-gyp configure”时堆栈“错误:证书链中的自签名证书”

新手上路,请多包涵

尝试为 sql server 构建 nodejs 的 microsoft 驱动程序时出现以下错误

gyp info 如果它以 ok 结尾,它就可以工作

使用 node-gyp@3.2.1 的 gyp 信息

使用 node@5.3.0 的 gyp 信息 | win32 | x64

gyp http GET https://nodejs.org/download/release/v5.3.0/node-v5.3.0-headers.tar.gz

gyp WARN 安装出错,回滚安装

吉普错误!配置错误

吉普错误!堆栈 错误:证书链中的自签名证书

吉普错误!错误堆栈(本机)

吉普错误!堆栈在 TLSSocket。 (_tls_wrap.js:1057:38)

吉普错误!堆栈在 emitNone (events.js:67:13)

吉普错误!堆栈在 TLSSocket.emit (events.js:166:7)

吉普错误!堆栈在 TLSSocket._fini enter code here shInit

吉普错误!不好 ”

我尝试了以下解决方法,但效果很好

1) upgrade your version of npm

npm install npm -g --ca=null

- or -

2) tell your current version of npm to use known registrars

npm config set ca=""

谁能指导我如何解决此证书问题

原文由 Dilip Reddy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 856
1 个回答

如果这与公司代理有关,则可以通过 3 个步骤来解决此问题:

  1. 检索公共证书并将其转换为 .pem 格式。该文件看起来像这样。 -----BEGIN CERTIFICATE----- ABCDEFGHIJKLMNOPQRSTBLABLA...MORECHARSHERE -----END CERTIFICATE-----\n------BEGIN CERTIFICATE ... etc 取决于你的公司
  2. 将它们存储在您的 PC 上的某个位置。我将它们存储在我的仓库中
  3. 在终端执行 NODE_EXTRA_CA_CERTS=/home/<yourUser>/git/myproject/certs/myBundle.pem npm i --quiet

对于 Windows,您必须将其更改为: NODE_EXTRA_CA_CERTS=C:\Users\<yourUser>\git\myproject\certs\myBundle.pem npm i --quiet

原文由 Matthis Kohli 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题