企业网络下运行React Native(Expo)遇'unable to get local issuer certificate'错误求助
解决企业网络环境下Expo启动的证书验证错误
针对你遇到的FetchError: unable to get local issuer certificate错误,以下是几个针对性的解决方案:
给Node.js配置企业根证书
Expo CLI基于Node.js运行,单独设置NODE_EXTRA_CA_CERTS环境变量让Node信任公司证书:- Windows(临时生效):
永久生效可在系统环境变量中添加该变量set NODE_EXTRA_CA_CERTS=C:\绝对路径\公司根证书.crt - macOS/Linux(临时生效):
永久生效可将该行添加到export NODE_EXTRA_CA_CERTS=/绝对路径/公司根证书.pem~/.bashrc或~/.zshrc文件中
- Windows(临时生效):
确保证书格式正确
公司证书如果是DER格式(.cer/.der),需要转成PEM格式才能被Node识别:openssl x509 -inform der -in 原证书.cer -out 转换后的证书.pem启动Expo时直接指定证书
不想改环境变量的话,可在启动命令前临时指定证书:NODE_EXTRA_CA_CERTS=/绝对路径/证书.pem npx expo start检查并配置代理
企业网络的代理可能导致证书验证失败,需要设置代理环境变量:- Windows:
set HTTP_PROXY=http://代理地址:端口 set HTTPS_PROXY=http://代理地址:端口 - macOS/Linux:
export HTTP_PROXY=http://代理地址:端口 export HTTPS_PROXY=http://代理地址:端口
若代理需认证,格式为
http://用户名:密码@代理地址:端口- Windows:
清除Expo缓存
残留的缓存可能引发问题,执行以下命令清除后再启动:npx expo start --clear
内容的提问来源于stack exchange,提问作者Tejas
相关产品推荐
相关产品推荐

