新MacBook M1环境下Expo EAS Build/Metro Bundler找不到AppEntry.js
解决Metro Bundler找不到expo/AppEntry.js的问题
核心问题:构建命令错误地将node_modules/expo/AppEntry.js作为入口文件,但该路径并非项目实际入口,且expo包内不存在这个文件。以下是针对性排查步骤:
检查入口文件配置
- 打开项目根目录的
package.json,查看main字段:- 若配置为
"main": "node_modules/expo/AppEntry.js",改为项目实际入口(如"main": "App.js"或"main": "src/App.js"); - 若使用
app.json/app.config.js,检查entryPoint字段,确保指向正确的项目入口文件。
- 若配置为
- 打开项目根目录的
清理EAS本地构建缓存
运行以下命令彻底清除本地构建的临时文件与缓存,避免旧配置残留:eas build:local --clear-cache检查Xcode打包脚本
打开Xcode项目,找到Bundle React Native code and images构建脚本,确认ENTRY_FILE变量指向项目根目录的入口文件(如../App.js),而非错误的node_modules/expo/AppEntry.js。验证Expo CLI与SDK版本兼容性
- 查看
package.json中expo的SDK版本,对比expo --version输出的CLI版本,确保两者兼容; - 若版本不匹配,升级或降级CLI:
npm install -g @expo/cli@latest
- 查看
重新生成原生项目文件
若项目使用bare workflow或EAS预构建,运行以下命令清理并重新生成iOS/Android原生文件:npx expo prebuild --clean
内容的提问来源于stack exchange,提问作者bitoiu
相关产品推荐
相关产品推荐

