31

我有自己的私人 npm 注册表http://something。我安装了纱线并尝试运行以下命令。

yarn

但它给出了以下错误。

Trace: 
  Error: unable to get local issuer certificate
      at Error (native)
      at TLSSocket.<anonymous> (_tls_wrap.js:1017:38)
      at emitNone (events.js:67:13)
      at TLSSocket.emit (events.js:166:7)
      at TLSSocket._init.ssl.onclienthello.ssl.oncertcb.TLSSocket._finishInit (_tls_wrap.js:582:8)
      at TLSWrap.ssl.onclienthello.ssl.oncertcb.ssl.onnewsession.ssl.onhandshakedone (_tls_wrap.js:424:38)

我还发现了几个 github 问题和解决方案。

https://github.com/yarnpkg/yarn/issues/841 https://github.com/yarnpkg/yarn/commit/b0611a6ee5220b0b1e955b271b6140640158f96c(在0.16.0中可用)

看起来我必须strict-ssl在纱线配置中设置为 false。我无法确切地找到我该怎么做。我尝试在 package.json 中通过以下方式提供选项,但没有奏效。

1)

{
config: {
"strict-ssl": false
}
}

2)

{
"strict-ssl": false
}

但我仍然遇到同样的错误。我在哪里做错了?

4

3 回答 3

79

在 Nodejs 命令提示符下运行以下命令。然后一切正常。它在代理错误后面运行的 bcos

yarn config set "strict-ssl" false -g
于 2017-07-18T12:29:18.843 回答
17

意识到配置需要进入.yarnrc文件。我已经设置了以下内容以使其正常工作。

cafile null
strict-ssl false

另请注意,yarn 也从.npmrc文件中获取配置选项。

于 2016-10-19T06:51:04.970 回答
0

该命令已更新。现在的命令是:

yarn config set enableStrictSsl false
于 2021-09-08T14:39:06.447 回答