对 https://registry.npmjs.org/co 的请求失败

Tha*_*r D 9 node.js npm npm-install

如果我npm install在我的存储库中这样做。我收到以下错误

npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! errno UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! request to https://registry.npmjs.org/co failed, reason: unable to get local issuer certificate
Run Code Online (Sandbox Code Playgroud)

我试过

npm config set registry https://registry.npmjs.org/
Run Code Online (Sandbox Code Playgroud)

但是并不能解决问题

请帮助解决此问题。提前致谢!

Nat*_*han 21

这似乎是在安装项目所需的包时尝试使用 SSL的问题。这是由于您设置 npm 注册表的方式造成的:

npm config set registry https://registry.npmjs.org/
Run Code Online (Sandbox Code Playgroud)

请注意 npm 注册表中的 https 前缀,超文本传输​​协议安全 (HTTPS)HTTP安全版本,该协议是在您的浏览器和您所连接的网站之间发送数据的协议。HTTPS 末尾“S”代表“安全”。这意味着您的浏览器和网站之间的所有通信都是加密的。HTTPS 页面通常使用两种安全协议之一来加密通信 - SSL(安全套接字层)或 TLS(传输层安全)。

也许您可以尝试以下操作,看看它是否能解决您的问题:

npm config set registry http://registry.npmjs.org/  
Run Code Online (Sandbox Code Playgroud)

然后尝试使用以下命令重新安装您的依赖项 npm install

或者,您可以通过执行以下操作来关闭 ssl 要求(尽管您可以自行决定使用):

npm config set strict-ssl false
Run Code Online (Sandbox Code Playgroud)

然后尝试再次安装您的要求 npm install

  • 最佳解决方案,我在公司防火墙后面,这对我有用。 (2认同)

小智 7

删除 package-lock.json 文件(并重新启动构建)为我解决了这个问题。


Obe*_*ako 6

这可能是由于代理网络造成的。您可以禁用代理并运行npm install
或者确保您设置了代理配置

npm config set https-proxy [address]:[port]
Run Code Online (Sandbox Code Playgroud)

然后再试npm install一次


小智 5

我刚刚遇到了同样的问题(刚刚第一次学习 NodeJS)。结果发现我遇到了 ZScaler 问题。我禁用了它的下载并且它有效。