Expo Go扫码加载React Native应用时遭遇java.io.IOException: Failed to download remote update错误的求助
看起来你遇到的这个加载失败问题我之前帮好几个开发者排查过,来给你梳理几个针对性的解决方向,你可以一步步试:
先解决防火墙规则的权限问题:你之前运行
New-NetFirewallRule -DisplayName "Expo Metro" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow提示权限不足,是因为普通用户没有修改系统防火墙的权限。右键点击PowerShell或者VS Code终端,选择「以管理员身份运行」,再执行这条命令就能成功添加规则了——这一步是让你的电脑允许Metro服务器的8080端口被外部设备访问。严格核对SDK版本的一致性:别光“相信”项目用的是SDK 54,最好打开项目根目录的
package.json文件,找到expo依赖的具体版本号(比如是不是~54.0.0或者54.0.3),然后和Expo Go里显示的SDK版本完全对齐。如果有小版本差异,要么用npx expo upgrade 54把项目同步到对应版本,要么在Expo Go的设置里切换到和项目匹配的SDK版本(Expo Go支持多版本切换的)。手动指定Metro的网络绑定:有时候自动选择的网络接口有问题,你可以试试启动Metro时手动绑定所有接口并指定端口:
npx expo start --port 8080 --host 0.0.0.0启动后,你可以在Metro终端里看到本地IP地址(比如
exp://192.168.xxx.xxx:8080),要么扫码,要么直接在Expo Go里手动输入这个地址,说不定比扫码更稳定。清理缓存排除冲突:缓存乱掉也会导致加载失败,你可以先执行这条命令重启Metro并清空所有缓存:
npx expo r -c同时在Expo Go里找到你的项目,滑到最底部选择「清除缓存」,然后再重新尝试加载。
排查WiFi的网络限制:如果你们公司或者家里的WiFi开了AP隔离(就是设备之间不能互相访问),那手机和电脑连同一个WiFi也没法通信。你可以试试把电脑连到手机的热点上,再用手机开Expo Go扫码,这样绕过WiFi的限制,看看能不能成功加载。
你先从前面两步(管理员权限加防火墙、核对SDK版本)开始试,这两个是最常见的原因。如果哪一步有新的问题或者结果,随时告诉我,我再帮你调整排查方向~




