更新Expo与React Native至最新版本后遇__expo_module_name__未定义错误
解决Expo/React Native更新后
__expo_module_name__未定义错误 检查依赖兼容性
运行npx expo install --check自动检测并修复与当前Expo SDK版本不兼容的第三方依赖,更新后部分旧模块可能无法适配最新Expo环境,这是触发该错误的常见原因。清理全链路缓存
- 清理Metro打包缓存:执行
npx expo start --clear - 清理包管理器缓存:
npm cache clean --force(npm)或yarn cache clean(yarn) - iOS端清理Pods:进入ios目录执行
pod deintegrate && pod install - Android端清理Gradle缓存:进入android目录执行
./gradlew clean
- 清理Metro打包缓存:执行
验证Hermes配置
在app.json或app.config.js中确认jsEngine设置为hermes,若不确定是否为Hermes兼容问题,可临时切换为jsc测试:{ "expo": { "jsEngine": "jsc" } }重启项目后若错误消失,说明是某个依赖不支持Hermes,需排查并更新该模块。
重新安装全部依赖
删除node_modules、锁文件后重新安装,彻底解决版本冲突:# npm 用户 rm -rf node_modules package-lock.json npm install # yarn 用户 rm -rf node_modules yarn.lock yarn install核对Expo SDK版本一致性
确保所有expo-*开头的包版本与Expo SDK版本完全匹配(比如SDK 49对应所有expo包为^49.0.0),版本不匹配会导致模块加载异常,可通过npx expo install统一安装对应版本。
内容的提问来源于stack exchange,提问作者rameez rahil
相关产品推荐
相关产品推荐

