我正在尝试创建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>
internet搜索的一个快速解决方案是
后来我找到了一个安全可行的解决方案,
npm config set registry http://registry.npmjs.org/
这工作得很好,通过没有将strict-ssl标志设置为false,我得到了一条成功消息
可能发生的情况是,您的公司解密某些流量,并使用他们的证书(您可能已经在密钥链或受信任的根证书中拥有该证书)对其进行重新加密
如果您使用的是Node7或更高版本,我发现这个修复程序与node和node-gyp兼容(对于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,它将
帮我解决了问题。