npm 错误!代码 UNABLE_TO_GET_ISSUER_CERT_LOCALLY

新手上路,请多包涵

我正在尝试创建反应应用程序的所有方法。我已经尝试过使用 maven,现在我正在尝试使用 Facebook Incubator 的 crate-react-app 构建系统。

当我尝试在 npm 环境中运行命令 create-react-app my-app 时,它在我的个人系统上运行没有问题。但是当我在我的工作环境中尝试相同的命令时,我在命令提示符下遇到了这个错误

npm ERR! node v6.10.2
npm ERR! npm  v3.10.10
npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY

npm ERR! unable to get local issuer certificate
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

原文由 Dinesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
2 个回答

互联网搜索的一个快速解决方案是 npm config set strict-ssl false ,幸运的是它奏效了。但作为我工作环境的一部分,我只能将 strict-ssl 标志设置为 false。

后来我找到了一个安全有效的解决方案,

 npm config set registry http://registry.npmjs.org/

这工作得很好,我收到了一条成功消息 Happy Hacking! 没有将strict-ssl标志设置为false。

原文由 Dinesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

可能发生的事情是您的公司解密某些流量并使用他们的证书重新加密(您可能已经在钥匙串或受信任的根证书中)

如果您使用的是 node 7 或更高版本,我发现此修复与 node 和 node-gyp 兼容(对于 Windows,您需要以不同的方式执行此操作,但基本上只需要添加此环境变量):

export NODE_EXTRA_CA_CERTS="absolute_path_to_your_certificates.pem" (在 Windows 中您可能需要删除引号)

pem 文件可以有多个证书: https ://nodejs.org/api/cli.html#node_extra_ca_certsfile

确保您的证书采用正确的 pem 格式(您需要真正的换行符而不是文字 \n

我似乎无法让它与相对路径一起工作( .~

此修复程序基本上告诉 npm 和 node-gyp 使用针对常规 CA 的检查,但在遇到此证书时也允许它

理想情况下,您将能够使用系统的可信证书,但不幸的是,情况并非如此。

原文由 Jordan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题