You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何settings.gradle无法覆盖react-native-keychain的build.gradle仓库配置?

问题原因分析

你的settings.gradle配置没覆盖react-native-keychain的build.gradle里的仓库配置,核心原因有这几点:

  • dependencyResolutionManagement的作用范围不包含buildscript
    你设置的RepositoriesMode.PREFER_SETTINGS只对**项目依赖(比如implementation、api这类)**生效,管不到模块buildscript块里的classpath依赖解析。buildscript是用来配置构建脚本自身依赖的,它的仓库配置是独立的,默认不会被项目级的dependencyResolutionManagement覆盖。

  • pluginManagement管不到buildscript里的classpath插件
    你的pluginManagement配置是用来管理通过plugins {}块声明的插件仓库,但react-native-keychain是用buildscript.dependencies.classpath引入插件,再通过apply plugin应用,这种方式不受pluginManagement的仓库配置约束。

  • 模块级buildscript的优先级
    每个模块的build.gradle里的buildscript块会直接使用自己声明的仓库去拉取classpath依赖,除非你通过Gradle的初始化脚本(init.gradle)全局覆盖所有buildscript的仓库配置,否则项目级settings不会干预这块。

另外注意下你提到的Nexus代理仓库指向的是https://plugins.gradle.org/m2/b,是不是多打了个b?正常Gradle插件仓库地址是https://plugins.gradle.org/m2/,如果地址不对,就算代理了也拉不到对应插件。

内容的提问来源于stack exchange,提问作者Niccolo Giannerini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:31:07