我正在尝试创建反应应用程序的所有方法。我已经尝试过使用Maven,现在我正在尝试使用来自Facebook Incubators的crate-react-app构建系统。
当我尝试create-react-app my-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>
在尝试了所有解决方案之后,我可以找到:
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
现在看来对我来说最有效的解决方案是使用NODE_EXTRA_CA_CERTS环境变量,该变量扩展了现有的CA,而不是用.npmrc文件中的cafile选项替换它们。您可以通过在终端中输入以下内容进行设置:
NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
当然,每次设置此变量都会很烦人,因此我将其添加到bash配置文件中,以便每次打开终端时都将对其进行设置。如果您还没有
~/.bash_profile
文件,请创建一个。然后在该文件的末尾添加export NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
。然后,删除.npmrc中的cafile设置。