React Native安装Reanimated后报Cannot find module 'babel-plugin-r'错误
报错原因
该错误本质是Babel在编译过程中尝试加载不存在的babel-plugin-r插件,根源是项目中babel.config.js里配置React Native Reanimated的Babel插件时出现了格式错误:通常是自动格式化工具将Reanimated的插件完整字符串拆分换行,导致Babel将截断后的不完整路径识别为独立插件名,才会触发找不到babel-plugin-r的报错。
解决方案
步骤1:修正Babel配置
打开项目根目录的babel.config.js,严格遵循以下规则配置插件:
- Reanimated的Babel插件必须是完整字符串
'react-native-reanimated/plugin',不能被换行、格式化工具拆分为多段 - 该插件必须放在plugins数组的最后一项,不能排在其他插件前面
正确配置示例:
module.exports = { presets: ['module:metro-react-native-babel-preset'], plugins: [ // 其余自定义插件全部放在该位置 'react-native-reanimated/plugin', // 固定放在plugins数组最后一位 ], };
步骤2:重装项目依赖
删除项目根目录下的node_modules文件夹,以及包管理锁文件(package-lock.json或yarn.lock),随后重新执行依赖安装:npm install 或 yarn install
步骤3:清空缓存启动项目
执行以下命令启动Metro,彻底清除历史编译缓存:npx react-native start --reset-cache
之后新开终端执行npx react-native run-android或npx react-native run-ios启动项目即可。
内容的提问来源于stack exchange,提问作者mr.saraan
相关产品推荐
相关产品推荐

