React Native 0.77.2 Android构建报错:无法找到com.facebook.react:react-native-gradle-plugin:0.77.2
React Native 0.77.2 Android构建报错:无法找到com.facebook.react:react-native-gradle-plugin:0.77.2
我之前在升级到React Native 0.77版本时也踩过这个坑,核心问题是你同时混用了新旧两种gradle-plugin引入方式,导致Gradle优先去远程仓库找插件,完全忽略了本地node_modules里的版本。下面是针对你的情况的具体解决步骤:
解决方案步骤
1. 移除android/build.gradle中多余的插件classpath引用
打开你的android/build.gradle文件,找到buildscript下的dependencies代码块,直接删除这一行:
classpath("com.facebook.react:react-native-gradle-plugin:0.77.2")
这是React Native 0.77之前的旧引入方式,现在你已经通过includeBuild加载了本地插件,再保留这行代码会让Gradle优先去远程仓库查找,和你用本地插件的需求冲突。
2. 确认android/settings.gradle的配置无误
你的settings.gradle里的pluginManagement块配置其实是对的,再核对一下关键部分:
pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } includeBuild('../node_modules/@react-native/gradle-plugin') // 路径正确,指向项目根目录的node_modules }
这里的includeBuild必须放在pluginManagement内部,它的作用就是告诉Gradle:直接从本地这个路径加载插件构建,不用去远程找。
3. 彻底清理缓存并重新同步
执行以下命令清理所有可能的缓存:
- 在项目根目录运行:
rm -rf node_modules package-lock.json .gradle npm install - 进入
android目录运行:./gradlew clean - 回到Android Studio,点击顶部工具栏的Sync Project with Gradle Files按钮重新同步。
为什么这样能解决问题?
React Native 0.77版本开始,官方彻底切换到了includeBuild的方式加载本地gradle-plugin,目的是让插件版本和项目的React Native版本严格对齐,避免远程仓库版本不匹配的问题。如果你的build.gradle里还留着旧的classpath声明,Gradle会完全忽略你通过includeBuild配置的本地插件,固执地去远程仓库找,这就是你看到报错的原因。
内容来源于stack exchange
相关产品推荐
相关产品推荐

