Expo开发构建后无法连接开发服务器,多设备异常求助
解决Expo开发构建无法连接开发服务器的可行方案
检查端口占用
用命令排查Expo默认端口(8081)是否被其他进程占用:- macOS/Linux:
lsof -i :8081 - Windows:
netstat -ano | findstr :8081
若端口被占用,杀掉对应进程,或换端口启动Expo:expo start --port 8082
- macOS/Linux:
强制绑定服务器访问地址
启动Expo时指定绑定到全局可访问地址,确保设备能连接:expo start --host 0.0.0.0同时临时关闭电脑本地防火墙(macOS防火墙、Windows Defender防火墙),测试是否是防火墙拦截了请求。
确认网络环境与手动指定服务器地址
- 确保模拟器/实体机和开发电脑处于同一WiFi网络(实体机禁用蜂窝网络)
- 用局域网模式启动Expo:
expo start --lan,然后在设备的开发构建中手动输入电脑的局域网IP+端口(如http://192.168.3.5:8081)
检查项目配置文件
- 确认
app.json中已启用开发客户端:"expo": { "devClient": { "enabled": true } } - iOS项目(裸项目)在
Info.plist中添加网络权限配置,允许本地HTTP请求:<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> <key>NSAllowsLocalNetworking</key> <true/> </dict> - Android项目(裸项目)在
AndroidManifest.xml中确认网络权限:<uses-permission android:name="android.permission.INTERNET" />,同时关闭模拟器的代理设置。
- 确认
清除各类缓存
- 清除Expo缓存:
expo r -c - 重置模拟器数据:iOS模拟器选
Device > Erase All Content and Settings;Android模拟器在AVD管理器中点击Wipe Data - 重置项目依赖:
rm -rf node_modules package-lock.json && npm install(yarn用户替换为rm -rf node_modules yarn.lock && yarn install)
- 清除Expo缓存:
升级Expo CLI
升级到最新版Expo CLI避免版本兼容问题:npm install -g expo-cli或使用
npx expo start直接调用最新本地版本。关闭VPN/代理工具
彻底关闭电脑和设备上的VPN、代理软件,这类工具可能拦截本地网络请求。尝试隧道模式连接
通过Expo隧道服务绕过局域网限制:expo start --tunnel启动后用设备扫描生成的二维码,测试是否能正常连接。
内容的提问来源于stack exchange,提问作者maxtenzin
相关产品推荐
相关产品推荐

