Expo React Native应用无法在Expo Go启动(macOS Monterey+iPhone环境)
Expo React Native 应用无法在 iPhone Expo Go/模拟器启动问题
环境与问题
- 设备:macOS Monterey 系统的 MacBook,iPhone(与Mac处于同一WiFi网络)
- 症状:Expo 构建的 React Native 应用无法在 iPhone 的 Expo Go 或模拟器中启动,本地模式(
npx expo start)和隧道模式(npx expo start --tunnel)均无效
应用代码(App.js)
import { StatusBar } from 'expo-status-bar'; import { StyleSheet, Text, View } from 'react-native'; export default function App() { return ( <View style={styles.container}> <Text>Open up App.js to start working on your app!</Text> <StatusBar style="auto" /> </View> ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#fff', alignItems: 'center', justifyContent: 'center', }, });
报错截图
本地模式启动报错:

隧道模式启动报错:

排查解决步骤
1. 对齐 Expo 版本
确认 Mac 上的 Expo CLI 版本和 iPhone 上 Expo Go 的版本一致,版本不匹配会导致连接失败。执行 npx expo --version 查看CLI版本,在App Store给Expo Go更到最新版。
2. 排查网络问题
- 确认Mac和iPhone连的是同一个WiFi频段(别一个连5G、一个连2.4G),部分路由器的双频段隔离会阻断设备互通。
- 关掉Mac和iPhone上的VPN、代理工具,这类工具会干扰Expo的连接通道。
3. 重置缓存与服务
- 按
Ctrl+C终止当前Expo服务,执行npx expo start --clear清除缓存后重启服务。 - 彻底关闭iPhone上的Expo Go,再重新打开。
4. 检查防火墙与安全工具
- 打开Mac「系统设置」-「网络」-「防火墙」,确认没阻止Expo的网络请求,可临时关闭防火墙测试。
- 检查Mac上的杀毒软件,是否拦截了Expo默认使用的19000-19006端口。
5. 手动指定IP启动
如果自动识别IP出错,手动用Mac本地IP启动服务:
npx expo start --host [你的Mac本地IP]
终端执行 ifconfig,在en0字段下找到inet对应的IP就是本地IP。
6. 模拟器专属排查
如果是模拟器无法启动:
- 确保Xcode是最新版,模拟器的iOS版本要和Expo支持的版本兼容。
- 重置模拟器:打开模拟器后,点击「硬件」-「全部内容和设置」重置,再尝试加载应用。
内容的提问来源于stack exchange,提问作者Jordan Rob
相关产品推荐
相关产品推荐

