使用Expo运行React Native应用失败,请求Expo API时出现证书验证错误
Expo运行React Native应用失败,请求Expo API时出现证书验证错误
看起来你遇到的是Expo请求官方API时的SSL证书验证问题,这种情况通常和系统根证书配置、网络环境(比如公司内网的代理/防火墙)有关。既然升级Node/npm和关闭strict-ssl都没效果,试试下面这些针对性的解决方法:
更新系统根证书:很多时候证书验证失败是因为系统缺少最新的根CA证书。不同系统的操作方式略有不同:
- Windows:打开「证书管理器」,找到「受信任的根证书颁发机构」,检查是否有过期证书,或者通过Windows更新获取最新的根证书包。
- macOS:打开「钥匙串访问」,在「系统」分类下的「证书」里,查看根证书状态,必要时手动下载并安装最新的根CA证书。
- Linux(以Ubuntu为例):运行命令
sudo apt update && sudo apt install --reinstall ca-certificates来更新系统证书库。
临时关闭代理/VPN:如果你在公司内网或者使用了代理、VPN服务,中间的加密证书可能会干扰Expo对官方API的验证。先关闭这些网络工具,再重新运行
npx expo start测试是否恢复正常。手动指定信任的CA证书:通过设置
NODE_EXTRA_CA_CERTS环境变量,让Node.js信任特定的CA证书。步骤如下:- 打开浏览器访问Expo API地址,在地址栏的安全标识里导出网站的CA证书(保存为
.crt格式)。 - 根据你的系统执行对应的命令:
- Windows命令提示符:
set NODE_EXTRA_CA_CERTS=C:\路径\到\你的\证书文件.crt npx expo start - macOS/Linux终端:
export NODE_EXTRA_CA_CERTS=/路径/到/你的/证书文件.crt npx expo start
- Windows命令提示符:
- 打开浏览器访问Expo API地址,在地址栏的安全标识里导出网站的CA证书(保存为
清除Expo缓存:缓存的旧证书信息也可能引发问题,试试清除Expo的本地缓存后再启动:
npx expo start --clear
备注:内容来源于stack exchange,提问作者Kushal Soni
相关产品推荐
相关产品推荐

