React Native构建报Could not resolve react-native依赖排查求助
React Native 安卓构建报错
Could not resolve com.facebook.react:react-native:+ 修复方案 按以下步骤逐一排查,90%以上的同类问题都能解决:
- 修正项目级仓库源配置
你之前只调整app模块的依赖、反复增删jcenter没有效果,核心原因大概率是根目录的build.gradle漏了React Native本地Maven仓库路径。打开项目根路径下的android/build.gradle,找到allprojects.repositories配置块,替换为以下内容:
注意:Gradle会按照仓库配置的从上到下顺序检索依赖,不要随意调换上述仓库的排列顺序allprojects { repositories { mavenLocal() // 必须配置该路径,直接从本地node_modules读取React Native依赖 maven { url("$rootDir/../node_modules/react-native/android") } google() mavenCentral() // 保留jcenter仅兼容少量老依赖,放在仓库列表最后 jcenter() { content { includeModule("com.facebook.yoga", "proguard-annotations") includeModule("com.facebook.fbjni", "fbjni-java-only") } } } } - 回退app模块的硬编码依赖版本
打开android/app/build.gradle,把你之前手动修改的固定版本依赖com.facebook.react:react-native:0.68.2改回com.facebook.react:react-native:+。React Native的安卓依赖版本会自动读取本地node_modules中安装的RN版本,手动硬编码版本号如果和本地安装的RN版本不一致,反而会触发依赖找不到、版本冲突的问题。 - 全量清理缓存后重新构建
在项目根目录依次执行以下命令,清理损坏的构建缓存和依赖缓存:# 清理Gradle构建缓存 cd android && ./gradlew clean && cd .. # 删除旧的node依赖 rm -rf node_modules # 重新安装npm依赖(使用yarn的用户替换为yarn install即可) npm install # 重新触发安卓构建 npx react-native run-android - 排查Gradle代理配置问题
如果上述步骤操作完还是报错,打开android/gradle.properties,检查是否存在失效的代理配置,把所有以systemProp.http.proxy、systemProp.https.proxy开头的配置行全部注释掉,再重新执行构建。
内容的提问来源于stack exchange,提问作者Bruno Osella
相关产品推荐
相关产品推荐

