2017-08-25 211 views
5

我正在尝试创建反应应用程序的所有方法。我已经尝试过使用maven,现在我正尝试使用来自Facebook孵化器的crate-react-app构建系统。npm ERR!代码UNABLE_TO_GET_ISSUER_CERT_LOCALLY

当我试图在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> 

回答

18

我搜索互联网,这和尝试了所有的选项。但解决方案没有运气。最后我遇到npm config set strict-ssl false,幸运的是它的工作。但是这不是正确的方法,因为我在我的工作环境中,并且我应该限制为将ssl标志设置为false。

后来我发现了一个安全和可行的解决方案。

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

这个工作完美,我通过不设置任何SSL标志为假得到一个成功的消息Happy Hacking!。希望这可以帮助!

+0

我也刚刚恢复使用NPM存储库的HTTP版本(而不是https://registry.npmjs.org/),因为我的工作代理导致了问题(因为它充当了MITM,导致了认证验证问题) 有一天我会弄清楚证书问题,但我只需要下载一个软件包,就可以了! –

+0

它也适用于我。很多谢谢@Dinesh – dimyo

+0

我想,我已经有了这个设置,但是当看起来更近时,我使用https而不是http(https://registry.npmjs.org/)。更改为http,它工作。 –

0

将NPM repo URL更改为HTTP可用作快速修复程序,但我想使用HTTPS。

对我来说,在我的雇主(Zscaler中)代理是导致问题(因为它充当一个中间人,造成认证核查问题)

我忘了我found a script与此和Git帮助(用于克隆的GitHub通过HTTPS回购有同样的问题)和forked it for my use

基本上,它的对git的以下内容:

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

并为节点,将其添加到proxy=http://gateway.zscaler.net:80/的末

这解决了我的问题。

0

什么是可能发生的事情是你的工作解密一定的流量和使用他们的证书重新加密它(你可能已经在你的钥匙链或受信任的根证书)

如果你使用节点7或更高版本我已经找到了此修复程序是与节点和节点GYP兼容(适用于Windows,你需要以不同的方式做到这一点,但你基本上只需要添加这个环境变量):

export NODE_EXTRA_CA_CERTS="absolute_path_to_your_certificates.pem"

PEM文件可有多个证书:https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file

确保您的证书是在正确的PEM格式(你需要真正的换行符不是字面\n

我似乎无法得到它与.~路径

此修订主要是告诉工作npm和node-gyp使用对照常规CA的检查,但在遇到它时也允许此证书

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

相关问题