如何修复iOS打包失败:无法解析@babel/runtime/helpers/interopRequireDefault
解决Expo启动时iOS打包失败:无法解析@babel/runtime/helpers/interopRequireDefault
运行npx expo start时iOS打包失败,报错信息:
Unable to resolve "@babel/runtime/helpers/interopRequireDefault" from "node_modules\expo\AppEntry.js"
已尝试删除并重新安装node_modules,问题仍未解决。以下是我的package.json配置:
{ "name": "optimeal", "main": "App.js", "version": "1.0.0", "scripts": { "start": "expo start", "reset-project": "node ./scripts/reset-project.js", "android": "expo start --android", "ios": "expo start --ios", "web": "expo start --web", "test": "jest --watchAll", "lint": "expo lint" }, "jest": { "preset": "jest-expo" }, "dependencies": { "@expo/metro-config": "^0.18.11", "@expo/vector-icons": "^14.0.2", "@react-navigation/native": "^6.0.2", "expo": "^51.0.37", "expo-constants": "~16.0.2", "expo-dev-client": "~4.0.28", "expo-font": "~12.0.9", "expo-linking": "~6.3.1", "expo-router": "~3.5.23", "expo-splash-screen": "~0.27.5", "expo-status-bar": "~1.12.1", "expo-system-ui": "~3.0.7", "expo-web-browser": "~13.0.3", "react": "18.2.0", "react-dom": "18.2.0", "react-native": "0.74.5", "react-native-gesture-handler": "~2.16.1", "react-native-reanimated": "~3.10.1", "react-native-safe-area-context": "4.10.5", "react-native-screens": "3.31.1", "react-native-web": "~0.19.10" }, "devDependencies": { "@babel/core": "^7.20.0", "@types/jest": "^29.5.12", "@types/react": "~18.2.45", "@types/react-test-renderer": "^18.0.7", "jest": "^29.2.1", "jest-expo": "~51.0.3", "react-test-renderer": "18.2.0", "typescript": "~5.3.3" }, "private": true }
解决步骤
- 安装缺失的
@babel/runtime依赖:该包是Babel运行时的核心组件,直接安装即可:
或使用yarn:npm install @babel/runtime --saveyarn add @babel/runtime - 清除Metro缓存:缓存残留可能导致解析异常,启动时强制清除:
npx expo start --clear - 升级
@babel/core至兼容版本:当前@babel/core版本7.20.0与Expo 51存在兼容性偏差,升级到推荐的7.23.x版本:npm install @babel/core@^7.23.0 --save-dev - 重置项目配置:执行项目自带的重置脚本,恢复默认配置:
npm run reset-project
内容的提问来源于stack exchange,提问作者Robert S. Baxter
相关产品推荐
相关产品推荐

