繁体   English   中英

尝试在 Windows 上安装 NPM 包时遇到证书错误。 我正在使用 Node v10.9.0

[英]I am facing a certificate error while trying to install NPM packages on Windows. I am using Node v10.9.0

npm 错误! 代码 ERR_TLS_CERT_ALTNAME_INVALID
npm 错误! 错误号 ERR_TLS_CERT_ALTNAME_INVALID
npm 错误! https://registry.npmjs.org/http-server 的请求失败,原因:主机名/IP 与证书的替代名称不匹配:主机:registry.npmjs.org。 不在证书的替代名称中:DNS:a.sni.fastly.net, DNS:a.sni.global-ssl.fastly.net

这似乎是 NPM 服务器上的一个真正问题。 在浏览器中导航到https://registry.npmjs.org/http-server时,我看到了同样的错误。 服务器确实没有有效的证书。 没有特定于 Windows 的内容。

NPM 报告存在缓存错误 DNS 信息的问题,此处: https : //status.npmjs.org/incidents/v22ffls5cd6h

在缓存清除之前,他们建议执行以下操作:

  1. dig registry.npmjs.com @1.1.1.1
  2. 将找到的 IP 添加到您的 /etc/hosts 文件中。

更新:有点不相关,对于使用yarn :NPM 注册表的 Yarn 镜像似乎也受此问题的影响,因此目前我们似乎只能等到问题自行解决或 Yarn 团队应用服务器上的解决方法。

官方建议的将通过 dig 命令找到的 IP 添加到主机文件中的解决方案以某种方式对我不起作用。

我发现 npm 有一个strict-ssl配置选项。

在我的项目文件夹中使用strict-ssl = false创建一个 .npmrc 文件解决了这个问题。

我发现这个解决方案更安全、更隔离,因为编辑主机文件可能对每个人来说都是不可能的,当它被编辑时,它会导致从您的计算机发出的每个请求都被路由到特定的 IP 地址。

我计划在修复此临时问题后删除该文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM