gradle安装需三步环境变量:gradle_home、path追加bin、gradle_user_home;验证jdk版本匹配(如gradle 8.5+需jdk 17),执行gradle -v检查路径与版本;国内用户必配init.gradle阿里云镜像源,android/node项目还需注意wrapper版本与node下载开关。

gradle 安装本身不难,但配置错一步,后续跑 build、npmInstall 或 Android 构建时就会卡在依赖下载、版本冲突、甚至找不到 java —— 尤其是新手常把 GRADLE_USER_HOME 漏掉,或用中文路径解压,结果连 gradle -v 都报错。
怎么验证 JDK 已就绪?别跳过这步
gradle 是 Java 程序,必须有可用的 JDK(不是 JRE),且版本需匹配:
- gradle 7.x–8.4:支持 JDK 8–17
- gradle 8.5+:最低要求 JDK 17,不兼容 JDK 20+
- 运行 java -version 必须输出类似 17.0.9 或 11.0.22,不能是 1.8.0_391(旧式写法)也不行
常见错误现象:
-
Could not determine java version from 'xx':JDK 版本太新或太旧 -
No Java runtime present(macOS):只装了 JRE,或JAVA_HOME指向错误目录
建议做法:
- 下载 OpenJDK 17(如 Temurin 或 Liberica)
- 设置
JAVA_HOME指向 JDK 根目录(不含/bin) - 不要依赖系统自带的 Java(尤其 macOS)
解压后配环境变量,三处不能少
gradle 是绿色软件,解压即用,但必须显式配置三处环境变量:
-
GRADLE_HOME:值为解压后的完整路径,例如C:\gradle-8.10(Windows)或/opt/gradle-8.10(Linux/macOS) -
PATH中追加%GRADLE_HOME%\bin(Windows)或$GRADLE_HOME/bin(macOS/Linux) -
GRADLE_USER_HOME:极易被忽略,值建议设为独立路径,例如C:\gradle-cache或~/.gradle
→ 它决定本地仓库位置、插件缓存、wrapper 下载目录;不设会导致多个项目共用默认~/.gradle,引发权限或冲突问题
验证方式:
- 新开终端,执行
gradle -v - 输出中应包含
Gradle User Home:行,且路径与你设置的GRADLE_USER_HOME一致
国内用户必配镜像源,否则 npmInstall 会卡死
gradle 默认从 plugins.gradle.org 和 mavenCentral() 拉插件和依赖,但这两个源在国内直连极慢,尤其当项目用了 node-gradle-plugin 并触发 npmInstall 时,会卡在 Downloading node-v18.17.1-linux-x64.tar.gz 或类似环节。
正确做法是在 GRADLE_HOME/init.d/init.gradle 中统一配置(注意不是项目里的 build.gradle):
allprojects {
repositories {
mavenLocal()
maven { url "https://maven.aliyun.com/repository/public" }
mavenCentral()
}
buildscript {
repositories {
maven { url "https://maven.aliyun.com/repository/public" }
maven { url "https://plugins.gradle.org/m2/" }
}
}
}
关键点:
- 文件名必须是
init.gradle,不能叫init.txt或settings.gradle -
init.d目录需手动创建(GRADLE_HOME下没有就新建) - 不要复制粘贴出全角引号或中文空格,否则
gradle -v会直接报错解析失败
Android / Node 项目要额外注意 wrapper 和 download 开关
如果你用的是 Android Studio 或带node-gradle-plugin 的前端项目,光配好全局 gradle 还不够:
Android 项目优先走
gradlew(wrapper),它会忽略你本地的GRADLE_HOME,改用gradle/wrapper/gradle-wrapper.properties里指定的版本
→ 修改该文件中的distributionUrl前,先确认对应版本是否已下载到GRADLE_USER_HOME/wrapper/dists/,否则会重新下载(依然走默认慢源)-
node-gradle-plugin默认开启download = true,意味着每次构建都可能去拉 Node.js 二进制包
→ 若你本地已有 Node,应在build.gradle中显式关闭:node { download = false version = "18.17.1" }否则即使配了镜像源,node二进制下载仍走插件内置 URL(不走 Maven 仓库),无法加速
最易被忽略的一点:所有这些配置(GRADLE_USER_HOME、init.gradle、download = false)必须在执行第一个 gradle 命令前就位;一旦 ~/.gradle 或 GRADLE_USER_HOME 下生成了损坏的缓存或部分下载的 node 包,清理起来比重装还麻烦。











