Expo SDK 53项目普通连接模式无法在手机Expo Go加载,但Tunnel模式正常
我之前升级到SDK53的时候也碰到过一模一样的问题——Tunnel模式能正常加载,一用默认的npx expo start就弹出“Something went wrong”,折腾了好一阵才搞定。既然你已经做了EAS CLI升级、依赖修复和expo doctor检查,那问题基本出在本地网络配置或者SDK53的默认连接逻辑上,给你几个亲测有效的排查方向:
先确认手机和电脑的网络完全匹配:
一定要保证两者连的是同一个WiFi,而且尽量都连到同一个频段(2.4G或5G)。我当时就是因为路由器5G开了客户端隔离,手机和电脑在同一个WiFi下却没法互通,切到2.4G就立马好了。另外可以手动指定IP启动,命令是npx expo start --lan --host [你的电脑本地IP],本地IP可以用ifconfig(Mac/Linux)或者ipconfig(Windows)查到。调整SDK53的连接模式配置:
SDK53可能改了默认的主机绑定规则,你可以在app.json或app.config.js里加一段配置强制指定LAN模式:"expo": { // 其他已有配置 "packagerOpts": { "hostType": "lan", "lanType": "ip", "urlRandomness": null } }保存后重启开发服务器再试试,说不定就能解决默认模式的绑定问题。
检查防火墙或安全软件的拦截:
电脑的本地防火墙、杀毒软件很可能会拦截Expo的开发端口(默认19000-19009),你可以临时关闭防火墙,或者把Expo相关的进程加入白名单。也可以换个端口启动试试:npx expo start --port 19010,避开被占用或拦截的端口。同步升级Expo Go版本:
别忽略手机端的Expo Go!SDK53对应的Expo Go也需要是最新版,旧版本可能对新SDK的连接逻辑不兼容,去应用商店里把Expo Go更到最新再扫二维码试试。清理Expo缓存:
缓存残留也可能搞出奇怪的问题,试试用npx expo start --clear启动,或者手动删掉项目根目录的.expo文件夹,再重启开发服务器。
这些方法里我是靠切换WiFi频段解决的,你可以优先排查网络这块,大概率能解决问题。
内容来源于stack exchange

