Expo项目运行npm start时报获取版本信息响应异常错误怎么办
Expo启动版本信息拉取异常排查方案
执行npm start启动Expo应用时抛出如下错误:
CommandError: Unexpected response when fetching version info from Expo servers: undefined.
在确认Expo官方服务运行正常的前提下,按以下顺序排查解决:
- 排查本地网络拦截问题
全局代理规则异常、系统防火墙拦截、办公网络网关限制是这类问题的最高发诱因。先临时关闭所有代理工具、第三方防火墙,切换到个人手机热点这类无额外网关限制的网络重试启动命令。如果必须使用代理访问外网,需要给终端、npm配置正确的代理参数,同时将Expo相关请求域名加入代理规则,避免请求被重置返回空响应。 - 全量清理缓存并重装依赖
本地Expo缓存、npm缓存损坏,或者依赖安装不完整都会导致响应解析失败,依次执行以下命令重置环境:
命令执行完成后重新运行# 清除Expo打包缓存 expo start -c # 强制清除npm缓存 npm cache clean --force # 删除现有依赖与锁文件 rm -rf node_modules package-lock.json # 重新安装依赖 npm installnpm start验证问题是否修复。 - 检查本地hosts与DNS配置
异常的hosts域名映射、DNS污染会导致Expo版本接口请求被指向错误地址。打开系统hosts文件(Windows路径:C:\Windows\System32\drivers\etc\hosts,macOS/Linux路径:/etc/hosts),删除所有和Expo相关的域名映射条目,保存后刷新本地DNS缓存再重试。 - 对齐Expo CLI与项目SDK版本
你当前使用的expo-cli 5.4.12如果和项目内置的Expo SDK版本跨度太大,会出现版本接口解析不兼容的问题。执行expo upgrade将CLI和项目SDK升级到互相匹配的稳定版本,升级前注意提交本地代码避免改动丢失。 - 校验Node版本兼容性
你当前使用的node 16.15.0虽然满足Expo的基础运行要求,但该小版本存在已知的HTTPS响应解析bug,可通过nvm等版本管理工具切换到Node 16.x最新LTS版本,或者Node 18.x稳定LTS版本后重试。
内容的提问来源于stack exchange,提问作者Elefterios Charissopoulos
相关产品推荐
相关产品推荐

