我正在尝试所有可能的方法来创建一个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>

当前回答

我从C:\Users\MyUser中删除了.npmrc文件,它工作了

其他回答

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

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

出口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使用检查,但也允许这个证书遇到它

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

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

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

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

这工作得很完美,我得到了一个成功的消息快乐黑客!通过不将strict-ssl标志设置为false。

一些原理图在引擎盖下使用纱线,并抛出相同的错误。

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

在终端中设置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版本,一切都得到了补救。