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

Dil*_*ddy 7 node.js npm mssql-jdbc node-gyp protractor

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

gyp信息如果以ok结束它是否有效

gyp info使用node-gyp@3.2.1

gyp info使用node@5.3.0 | win32 | 64位

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

gyp WARN安装出错,回滚安装

gyp ERR!配置错误

gyp ERR!堆栈错误:证书链中的自签名证书

gyp ERR!错误堆栈(本机)

gyp ERR!堆栈在TLSSocket.(_tls_wrap.js:1057:38)

gyp ERR!堆栈在emitNone(events.js:67:13)

gyp ERR!堆栈在TLSSocket.emit(events.js:166:7)

gyp ERR!堆栈在TLSSocket._fini enter code hereshInit

gyp ERR!不好 "

我尝试了下面的解决方法,但它工作

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=""
Run Code Online (Sandbox Code Playgroud)

任何人都可以指导我如何解决此证书问题

muj*_*imu 9

不幸的是,node-gyp不使用npm的证书设置.

如果您正在调用node-gyp,则可以更新到最新的node-gyp,然后使用新--cafile参数来提供有效的ca证书.

如果您使用npm来安装使用node-gyp构建自己的软件包,那么您唯一的办法是NODE_TLS_REJECT_UNAUTHORIZED=0预先设置环境变量,以使其忽略CA证书问题.

请参阅github上的讨论:https://github.com/nodejs/node-gyp/issues/695

  • 更改进入节点环境,而不是系统环境。npm 配置集 NODE_TLS_REJECT_UNAUTHORIZED=0 (2认同)