You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native monorepo iOS构建报错:无法解析@babel/runtime模块

解决React Native Monorepo(Yarn+Lerna)iOS构建时@babel/runtime缺失问题

针对你遇到的「Unable to resolve module @babel/runtime/helpers/interopRequireDefault」问题,给出以下针对性解决方案:

1. 根目录强制安装@babel/runtime

Monorepo的依赖hoisting机制可能导致子包无法共享该依赖,直接在项目根目录安装:

yarn add @babel/runtime -W

-W 参数指定在根工作区安装,确保所有子包都能访问到该依赖。

2. 检查Lerna与Yarn Workspace配置

确认你的 lerna.json 已正确启用Yarn Workspaces:

{
  "packages": ["packages/*"],
  "npmClient": "yarn",
  "useWorkspaces": true,
  "version": "independent"
}

如果之前配置过nohoist,检查是否误将@babel/runtime加入禁止hoist列表,若有则移除。

3. 清理缓存并重装依赖+Pods

缓存或Pods残留可能导致依赖未正确安装:

  1. 清理Yarn缓存:
yarn cache clean
  1. 删除项目根目录及所有子包的node_modules文件夹
  2. 重装依赖:
yarn install
  1. 重新安装iOS Pods:
cd ios && pod deintegrate && pod install && cd ..

4. 检查子包package.json的依赖配置

若子包的package.json中将@babel/runtime设为peerDependency,需确保根目录已安装该依赖(步骤1已处理);若不需要peer依赖,可将其移至dependencies中并在子包执行yarn install。

5. 确认Babel配置正确性

确保项目根目录的babel.config.js使用React Native官方预设:

module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
};

这个预设会自动处理@babel/runtime的按需引入,无需额外配置。

内容的提问来源于stack exchange,提问作者niket

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 23:30:57