Appearance
模拟器无法连接 / 项目启动报错
环境常见问题排查
在 React Native 开发过程中,模拟器无法连接和项目启动报错是常见的问题。本节将介绍如何排查和解决这些问题。
1. 模拟器无法连接问题
症状
- 运行
npx expo start后,按i或a键无法启动模拟器 - 模拟器启动后无法连接到开发服务器
- 应用在模拟器中显示 "Network request failed" 错误
解决方案
方法一:检查网络连接
确保模拟器和开发服务器在同一网络
- 模拟器应该使用与开发机器相同的网络连接
- 检查防火墙设置,确保端口 8081(或你指定的端口)未被阻止
重启 adb 服务
- 运行以下命令:bash
adb kill-server adb start-server
- 运行以下命令:
检查模拟器网络设置
- 在 Android 模拟器中,进入 "Settings" → "Network & internet" → 确保 Wi-Fi 已连接
- 在 iOS 模拟器中,网络连接通常是自动配置的
方法二:使用 localhost 而非 IP 地址
修改 Expo 配置
- 运行
npx expo start --localhost - 这将使用 localhost 而非 IP 地址
- 运行
在模拟器中使用 localhost
- 确保应用使用
http://localhost:8081连接到开发服务器
- 确保应用使用
方法三:重启模拟器和开发服务器
关闭模拟器
- 在 Android 模拟器中,点击 "..." → "Close"
- 在 iOS 模拟器中,点击 "Simulator" → "Quit Simulator"
停止开发服务器
- 在终端中按
Ctrl + C停止 Expo 开发服务器
- 在终端中按
重新启动
- 重新启动模拟器
- 重新启动 Expo 开发服务器
2. 项目启动报错问题
症状
- 运行
npx expo start时出现错误 - 应用启动后立即崩溃
- 出现 "Error: Unable to resolve module" 错误
解决方案
方法一:修复依赖问题
运行 Expo 修复命令
- 运行以下命令:bash
npx expo install --fix
- 运行以下命令:
重新安装依赖
- 删除
node_modules目录:bashrm -rf node_modules - 重新安装依赖:bash
npm install
- 删除
方法二:检查代码错误
查看详细错误信息
- 检查终端中的错误信息
- 查看模拟器中的错误信息
修复代码错误
- 根据错误信息定位并修复代码问题
- 常见错误包括:
- 导入路径错误
- 语法错误
- 组件名称错误
方法三:清除缓存
清除 Metro 缓存
- 运行以下命令:bash
npx expo start --clear
- 运行以下命令:
清除 npm 缓存
- 运行以下命令:bash
npm cache clean --force
- 运行以下命令:
方法四:检查 Expo 版本
更新 Expo CLI
- 运行以下命令:bash
npm install -g expo-cli
- 运行以下命令:
更新 Expo SDK
- 运行以下命令:bash
npx expo install --fix -- --legacy-peer-deps && npx expo install react-native-web react-dom @expo/metro-runtime
- 运行以下命令:
3. 常见错误及其解决方案
错误 1:"Error: Unable to resolve module ../Utilities/Platform"
解决方案:
- 运行
npx expo install --fix - 确保 React Native 版本与 Expo SDK 版本兼容
错误 2:"Error: Unable to resolve module ./wa-sqlite/wa-sqlite.wasm"
解决方案:
- 运行
npx expo install expo-sqlite - 确保使用最新版本的 expo-sqlite
错误 3:"Error: Unable to load script. Make sure you're either running a Metro server"
解决方案:
- 确保 Expo 开发服务器正在运行
- 检查网络连接
- 尝试使用
npx expo start --clear清除缓存
错误 4:"Error: Failed to install the app. Make sure you have the Android development environment set up"
解决方案:
- 确保 Android SDK 已正确安装
- 检查 ANDROID_HOME 环境变量是否正确设置
- 确保模拟器已正确配置
4. 总结
模拟器无法连接和项目启动报错是 React Native 开发中常见的问题。通过本文介绍的方法,你应该能够解决大多数启动问题。
如果以上方法都不起作用,你可以尝试:
- 查看详细的错误信息,了解具体的问题原因
- 搜索相关错误信息,寻找解决方案
- 重新初始化项目
- 咨询社区或寻求专业帮助
下一节,我们将介绍一键修复环境脚本,帮助你快速解决环境问题。
