React Native项目构建报错:找不到compile()方法
解决React Native + react-native-webrtc Android构建报错:Could not find method compile()
问题原因
React Native 0.71.x使用的Gradle版本已废弃compile依赖关键字,而你安装的react-native-webrtc v1.67.1的Android构建配置中仍在使用该关键字,导致构建失败。报错指向的是node_modules/react-native-webrtc/android/build.gradle第30行的compile(com.facebook.react:react-native:+)。
解决步骤
临时修复(直接修改node_modules)
- 打开项目路径下的
node_modules/react-native-webrtc/android/build.gradle文件 - 找到第30行的代码:
compile 'com.facebook.react:react-native:+' - 将
compile替换为implementation,修改后代码为:implementation 'com.facebook.react:react-native:+' - 重新运行Android构建命令:
npx react-native run-android
持久化修复(避免npm install后覆盖修改)
直接修改node_modules的文件会在下次执行npm install或yarn install时被覆盖,推荐用patch-package生成持久化补丁:
- 安装patch-package:
npm install patch-package --save-dev - 完成上面的临时修复步骤后,执行命令生成补丁:
npx patch-package react-native-webrtc - 项目根目录会生成
patches文件夹,将该文件夹提交到版本控制,后续其他开发者拉取代码后,执行npm install会自动应用补丁
可选方案:升级react-native-webrtc
检查react-native-webrtc的最新版本,若有适配React Native 0.71.x的版本(比如v1.70+),可以直接升级依赖:
npm install react-native-webrtc@latest --save
升级后重新执行Android构建即可。
内容的提问来源于stack exchange,提问作者Zephyr
相关产品推荐
相关产品推荐

