React Native构建失败:无法加载JCenter Maven元数据求助
React Native构建依赖解析错误解决方案
问题详情
构建时出现如下报错:
FAILURE: Build failed with an exception.
- 位置:构建文件'/Users/users/Documents/MyProject/Project_Name/node_modules/react-native-create-thumbnail/android/build.gradle'第114行
- 问题:配置':react-native-create-thumbnail'项目时出错
无法解析':react-native-create-thumbnail:implementation'的所有文件
无法解析com.facebook.react:react-native:0.70.+
被项目':react-native-create-thumbnail'依赖无法列出com.facebook.react:react-native的版本
无法从https://jcenter.bintray.com/com/facebook/react/react-native/maven-metadata.xml加载Maven元数据
请求该链接返回502 Bad Gateway
项目此前运行正常,已知需要移除jcenter()但不清楚具体操作,当前android/build.gradle代码如下:
buildscript { ext { ext.kotlin_version = '1.6.20' ffmpegKitPackage = "audio" ffmpegKitPackage = "full-gpl" buildToolsVersion = "33.0.2" minSdkVersion = 24 compileSdkVersion = 33 targetSdkVersion = 33 googlePlayServicesAuthVersion = "19.2.0" if (System.properties['os.arch'] == "aarch64") { // For M1 Users we need to use the NDK 24 which added support for aarch64 ndkVersion = "24.0.8215888" } else { // Otherwise we default to the side-by-side NDK version from AGP. ndkVersion = "21.4.7075529" } } repositories { google() mavenCentral() } dependencies { classpath("com.android.tools.build:gradle:7.4.2") classpath("com.facebook.react:react-native-gradle-plugin") classpath("de.undercouch:gradle-download-task:5.0.1") classpath("com.google.gms:google-services:4.4.0") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") classpath("com.google.firebase:firebase-crashlytics-gradle:2.9.9") } } allprojects { repositories { mavenLocal() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url("$rootDir/../node_modules/react-native/android") } maven { // Android JSC is installed from npm url("$rootDir/../node_modules/jsc-android/dist") } mavenCentral { // We don't want to fetch react-native from Maven Central as there are // older versions over there. content { excludeGroup "com.facebook.react" } } google() jcenter() maven { url 'https://www.jitpack.io' } maven { url 'https://maven.google.com' } } }
解决步骤
- 打开项目根目录下的
android/build.gradle文件 - 找到
allprojects代码块中的repositories部分,删除其中的jcenter()行 - 修改后的
allprojects部分代码如下:
allprojects { repositories { mavenLocal() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url("$rootDir/../node_modules/react-native/android") } maven { // Android JSC is installed from npm url("$rootDir/../node_modules/jsc-android/dist") } mavenCentral { // We don't want to fetch react-native from Maven Central as there are // older versions over there. content { excludeGroup "com.facebook.react" } } google() maven { url 'https://www.jitpack.io' } maven { url 'https://maven.google.com' } } }
- 清理并重新构建项目:
- 进入android目录:
cd android - 执行清理命令:
./gradlew clean - 返回项目根目录,重新运行项目:
npx react-native run-android
- 进入android目录:
说明:jcenter已停止服务,会导致依赖请求失败,移除后构建会从其他有效仓库(如mavenCentral、google等)拉取依赖。
内容的提问来源于stack exchange,提问作者React_Coder
相关产品推荐
相关产品推荐

