npm错误!代码ERR_TLS_CERT_ALTNAME_INVALID
npm ERR! errno ERR_TLS_CERT_ALTNAME_INVALID
npm ERR!对https://registry.npmjs.org/http-server的请求失败,原因:主机名/ IP与证书的altname不匹配:主机:registry.npmjs.org。不在证书的替代名称中:DNS:a.sni.fastly.net,DNS:a.sni.global-ssl.fastly.net
答案 0 :(得分:4)
在NPM服务器上,这似乎是一个真正的问题。在浏览器中导航到https://registry.npmjs.org/http-server
时,我看到相同的错误。服务器确实没有有效的证书。没有Windows专用。
NPM报告存在缓存不正确的DNS信息的问题,这里:https://status.npmjs.org/incidents/v22ffls5cd6h
在清除缓存之前,他们建议您执行以下操作:
dig registry.npmjs.com @1.1.1.1
更新:对于使用yarn
的用户而言,这有点不相关:NPM注册表的Yarn镜像也似乎也受到此问题的影响,因此目前看来,我们可以要做的是等到问题解决,或者Yarn团队在服务器上应用解决方法。
答案 1 :(得分:1)
将通过dig命令找到的IP添加到主机文件中的官方建议解决方案对我不起作用。
我发现npm有一个strict-ssl配置选项。
使用strict-ssl = false
在我的项目文件夹中创建.npmrc文件即可解决此问题。
我发现此解决方案更安全,更隔离,因为可能无法所有人都编辑hosts文件,当修改主机文件时,它将导致计算机发出的每个请求都被路由到特定的IP地址。
我计划在解决此临时问题后删除该文件。