我正在尝试所有可能的方法来创建一个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文件,它工作了

其他回答

按照下面的步骤,我解决了这个问题。

npm config set strict-ssl=false
npm config set registry http://registry.npmjs.org/
npm config set cafile /path/to/your/cert.pem
set NODE_TLS_REJECT_UNAUTHORIZED=0

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

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

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

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

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

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

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

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

将NPM回购URL更改为HTTP是一种权宜之计,但我想使用HTTPS。

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

我忘记了我找到了一个脚本来帮助这一点和Git(通过HTTPS克隆GitHub回购有同样的问题),并把它分叉给我使用

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

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

对于Node,它将proxy=http://gateway.zscaler.net:80/添加到c:\Users\$USERNAME\npm\.npmrc的末尾

这为我解决了问题。

这个问题很容易解决。

错误

npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY 
npm ERR! errno UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! request to https://registry.npmjs.org/yarn failed, reason: unable to get local issuer certificate  
npm ERR! A complete log of this run can be found in:

解决方案

如果您在组织或内部网中,请使用以下推荐。

NPM配置注册表 https://type_your_org_repo_fqdn

其他明智的

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