提问者:小点点

npm错误!代码unable_to_get_issuer_cert_local


我正在尝试创建react应用程序的所有方法。我已经尝试了maven,现在我正在尝试Facebook孵化器的crate-react-app构建系统。

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

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>

共3个答案

匿名用户

internet搜索的一个快速解决方案是,幸运的是它起作用了。但是作为我工作环境的一部分,我被限制将strict-ssl标志设置为false。

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

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

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

匿名用户

可能发生的情况是,您的公司解密某些流量,并使用他们的证书(您可能已经在密钥链或受信任的根证书中拥有该证书)对其进行重新加密

如果您使用的是Node7或更高版本,我发现这个修复程序与node和node-gyp兼容(对于Windows,您需要做的不同,但您基本上只需要添加这个环境变量):

(在Windows中,您可能需要删除引号-请参阅注释)

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

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

我似乎无法让它与相对路径(code./code>或)一起工作

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

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

匿名用户

将NPM repo URL更改为HTTP是一种快速修复,但我想使用https。

在我的例子中,我的雇主(ZScaler)的代理导致了问题(因为它充当MITM,导致了认证验证问题)

我忘了我找到了一个脚本来帮助完成这个任务,Git(用于通过HTTPS克隆GitHub repos)也有同样的问题,并将其分叉给我使用

基本上,它为Git执行以下操作:

git config --global http.proxy http://gateway.zscaler.net:80/
git config --system http.proxy http://gateway.zscaler.net:80/

对于Node,它将添加到的末尾

帮我解决了问题。