我正在尝试所有可能的方法来创建一个React应用程序。我尝试过Maven,现在我正在尝试从Facebook孵化器创建-反应-应用程序。

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

当前回答

Zscalar更新策略帮助我做网络调用,经过尝试前后提到的几个工作。

在Zscalar更新之前尝试的解决方案:

NPM配置strict-ssl为false NPM配置设置注册表http://registry.npmjs.org/ 设置NODE_TLS_REJECT_UNAUTHORIZED = 0

Zscalar应用程序中的更新策略(黄色突出显示)帮助我解决了“无法获得本地发行者证书”的问题。

其他回答

在终端中设置NODE_EXTRA_CA_CERTS在终端中由于某种原因对我不起作用,就像如何导出http_proxy=proxyurl在终端中不起作用一样,相反,我需要做一个npm配置设置代理yourproxyurl:port和npm配置设置http-proxy yourproxyurl:port(你可以验证现有的代理,如果有的话,通过npm get proxy)。

我必须提供——cafile参数让它显式工作,就像这样:

sudo npm install -g cordova——cafile /System/Volumes/Data/opt/homebrew/etc/ca-certificates/cert.pem

当我试图更新npm时,我遇到了这个错误,但在AWS Linux中从yum安装了一个非常旧的版本(1.3.6 !)我可以手动安装一个更新的npm版本,一切都得到了补救。

你的操作系统是什么?在Ubuntu上,我可以通过运行来修复这个错误

npm config set cafile /etc/ssl/certs/ca-certificates.crt

告诉NPM使用我系统的证书存储。Debian使用相同的系统证书路径,我不太熟悉其他发行版和操作系统。

(我不喜欢其他所有关闭证书验证和允许中间人攻击的答案。)

同样的错误。看起来它与SSL证书有关。如果您正在对公共包使用NPM(不需要HTTPS的安全性),您可以使用以下命令关闭严格的SSL密钥验证。

如果您只是希望一次性安装几个公开可用的软件包,这可能是最简单的解决方案。

npm config set strict-ssl=false

NPM配置设置注册表http://registry.npmjs.org/

如果这个代码技巧对你不起作用,那么试着从主目录运行你的应用程序。这对我很管用。