【问题标题】:Yarn: unable to verify the first certificateYarn:无法验证第一个证书
【发布时间】:2016-10-14 02:06:14
【问题描述】:

我正在尝试从 npm 迁移到 Yarn。当我尝试通过 yarn 安装依赖项时,出现此错误。

unable to verify the first certificate
at Error (native)
at TLSSocket.<anonymous> (_tls_wrap.js:1055:38)
at emitNone (events.js:86:13)
at TLSSocket.emit (events.js:185:7)
at TLSSocket._finishInit (_tls_wrap.js:580:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:412:38)

同样适用于 npm。尝试设置代理,没有帮助。我需要更改任何配置吗?

【问题讨论】:

  • 您能否提供更多详细信息,例如 1. 您何时遇到此错误?是在yarn install 吗? 2. 什么是完整的堆栈跟踪?哪个 npm 包抛出了这个错误?

标签: yarnpkg


【解决方案1】:

如果证书无法验证,可以开启 set strict-ssl to false。您应该可以通过运行来配置它

yarn config set "strict-ssl" false -g

但该命令当前不起作用,请参阅issue 980

您也可以导航到 C:\Users\\ 并打开 .yarnrc 并手动更新它,如下所示:

# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
strict-ssl false

【讨论】:

  • “如果您没有可用的证书” --- 这句话是什么意思?
  • 为澄清而编辑。
  • yarn config set "strict-ssl" false -g 对我来说效果很好。谢谢
  • “手动编辑说不要手动编辑的文件”?。可能很好地说为什么值得这样做......
  • 您可能应该提到关闭 strict-ssl 可能会在中间人攻击中打开您的大门,除非您使用受信任的代理。至少我建议删除 -g 以便您仅为自己设置该设置,而不是将其强加给可能不知道他们的 ssl 不再安全的其他用户。
【解决方案2】:

这意味着您很可能使用了使用自签名证书的公司代理。我正在使用版本v0.16.1,您可以通过向纱线配置提供公共证书来解决此问题,如下所示:

yarn config set cafile <path-to-certificate.pem>

【讨论】:

  • 这对我来说效果很好,我的一个问题是我使用的是 Docker,所以我需要确保添加 apk ca-certificates 并使用我的 dockerfile 配置将证书复制到 docker 目录第一的。 SO 答案(排名第二)对此有所帮助:stackoverflow.com/questions/26028971/…。从那里添加您指定的命令。
【解决方案3】:

尝试在本地设置正确证书的公司代理后面安装React Devtools Extensions 时遇到此错误。 yarn.lock 文件包含许多对绕过我们公司 Nexus 的 https://registry.yarnkpg.com 的引用。

我可以通过运行安装:

yarn install --no-lockfile

【讨论】:

    猜你喜欢
    • 2021-10-20
    • 2021-01-02
    • 2020-02-17
    • 2021-03-26
    • 2018-08-29
    • 2020-03-29
    • 2021-06-15
    • 1970-01-01
    • 2017-09-07
    相关资源
    最近更新 更多