Expo项目启动报错FetchError: unable to verify the first certificate求助
Expo启动时FetchError:无法验证证书的解决方案
检查系统与Node的根证书一致性
浏览器能正常访问但Node报错,大概率是Node的根证书存储和浏览器不同步。- 手动更新系统根证书:Windows去微软官网下载最新根证书包安装;macOS用
security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <证书文件路径>添加api.expo.dev证书链的根证书。 - 临时调试方案(生产环境禁用):启动时加环境变量跳过验证:
NODE_TLS_REJECT_UNAUTHORIZED=0 npx expo start
- 手动更新系统根证书:Windows去微软官网下载最新根证书包安装;macOS用
清理缓存与重装依赖
缓存或依赖损坏也可能导致请求异常,执行以下命令:# 清除Expo缓存并启动 npx expo start --clear # 删除旧依赖与锁文件 rm -rf node_modules package-lock.json yarn.lock # 重装依赖 npm install也可以用
npx expo r -c快速清除Expo本地缓存。排查代理/VPN干扰
如果开了代理或VPN,中间代理的证书可能被Node拒绝:- 先关闭代理/VPN再重启项目试试。
- 必须用代理的话,把代理的根证书添加到系统信任列表,同时确保
HTTP_PROXY/HTTPS_PROXY环境变量配置正确。
手动填充SDK配置缓存
既然浏览器能打开报错里的链接,手动下载配置文件填充缓存:- 打开
https://api.expo.dev/v2/sdks/49.0.0/native-modules,复制页面内容保存为native-modules.json。 - 找到Expo缓存目录:
- Windows:
%USERPROFILE%\.expo\sdks\49.0.0 - macOS/Linux:
~/.expo/sdks/49.0.0
- Windows:
- 把
native-modules.json放到该目录下,再执行npx expo start
- 打开
内容的提问来源于stack exchange,提问作者Boyan Boyanov
相关产品推荐
相关产品推荐

