使用`npx expo start --no-dev`时Expo应用崩溃,开发模式正常
Expo生产模式启动崩溃(开发模式正常)的排查与解决方案
检查Expo版本兼容性
运行expo --version查看CLI版本,对比package.json中expo的SDK版本,确保两者兼容。建议更新到最新稳定版:- 全局更新Expo CLI:
npm install -g expo-cli - 更新项目Expo SDK:
npm install expo@latest - 修复依赖不匹配:
npx expo install --fix
- 全局更新Expo CLI:
清理缓存与构建文件
缓存或旧构建文件可能导致生产模式异常:- 带缓存清理启动生产模式:
npx expo start --no-dev --clear - 手动清理后重装依赖:删除项目根目录的
.expo文件夹、node_modules,然后运行npm install
- 带缓存清理启动生产模式:
排查环境变量与配置差异
生产模式下可能缺失必要配置:- 检查
app.config.js/app.json,确保生产环境的配置项完整,无未定义的变量引用 - 排查代码中
__DEV__条件判断的逻辑,确保生产模式下的代码路径无错误(比如未引用仅开发环境存在的API或模块)
- 检查
查看崩溃日志定位问题
终端或设备日志能提供具体报错信息:- 启动
npx expo start --no-dev后,留意终端输出的完整错误堆栈 - 设备端:iOS摇一摇打开开发者菜单,Android按菜单键,查看崩溃详情;Android还可通过
adb logcat *:E查看系统级错误日志,iOS用Xcode控制台查看
- 启动
检查依赖包生产兼容性
部分依赖可能仅适配开发模式:- 运行
npx expo doctor,让Expo自动检测依赖、配置的兼容性问题并修复 - 重点排查原生模块类依赖(如
react-native-gesture-handler、react-native-reanimated),确保版本与SDK匹配,且生产模式配置正确(比如Reanimated需在babel配置中添加对应插件)
- 运行
测试最小化项目验证环境问题
创建空白项目测试是否为全局环境问题:- 运行
npx create-expo-app test-prod生成新空白项目 - 直接启动生产模式:
npx expo start --no-dev - 若空白项目也崩溃,尝试更换Node.js LTS版本(如18.x),或重新安装Expo CLI
- 运行
内容的提问来源于stack exchange,提问作者fortnight learner
相关产品推荐
相关产品推荐

