Gradle在macOS上安装有Homebrew和手动两种方式:前者快捷易维护,后者可控适合离线或定制;Homebrew默认装最新稳定版且自动配置PATH,但不设GRADLE_HOME;手动安装需注意JDK兼容性、路径配置及shell环境加载。

gradle 在 macOS 上安装其实就两条路:用 Homebrew 装,或者手动下载解压配环境变量。前者快、干净、易升级;后者可控、不依赖第三方、适合离线或定制场景。别纠结“哪个更好”,看你要不要长期维护多个版本,或者项目是否对 gradle 路径有硬性要求。
用 Homebrew 安装最省事
如果你已经装了 Homebrew(没装的话先跑 brew install gradle 会自动提示怎么装),直接终端执行:
brew install gradle
装完立刻能用:gradle -v 应该输出版本号(比如 Gradle 8.14.3)。Homebrew 默认把 gradle 放进 /opt/homebrew/bin/(Apple Silicon)或 /usr/local/bin/(Intel),这个路径通常已在你的 shell 的 PATH 里,不用额外配置。
注意点:
-
brew install gradle装的是最新稳定版,不一定是官网首页推的“latest release”——Homebrew 有自己同步节奏,一般滞后 1–3 天,但足够日常开发 - 如果项目明确要求某个旧版(比如
7.6),Homebrew 默认不支持多版本共存,得切到手动方式,或用SDKMAN - Homebrew 安装的
gradle不写GRADLE_HOME环境变量,某些 IDE(如老版 IntelliJ)可能报找不到,这时手动补一个也行,但多数现代项目根本不需要它
手动安装要盯紧 JDK 和路径细节
手动装的核心是三步:下载 → 解压 → 配环境变量。但容易卡在三个地方:
- JDK 版本不匹配:
gradle 8.14.3要求 JVM 8–24,但如果你java -version输出的是25或17.0.12(带补丁号),也可能出问题。稳妥起见,用/usr/libexec/java_home -v 21指定一个已知兼容的版本,并设好JAVA_HOME -
GRADLE_HOME路径写错:必须指向解压后的完整目录,比如/Users/you/gradle-8.14.3,不是/Users/you/gradle-8.14.3/bin,更不能漏掉版本号子目录 - shell 配置文件选错:macOS Ventura 及之后默认用
zsh,所以改~/.zshrc;如果还用bash(少见),才改~/.bash_profile。改完一定source ~/.zshrc,否则终端新开一个就失效
配完检查:echo $GRADLE_HOME 和 which gradle 都得有输出,且 gradle -v 不报 command not found。
gradle wrapper 其实比全局安装更重要
绝大多数真实项目根本不依赖你本地装了什么 gradle,而是靠项目根目录下的 gradlew 脚本——它会自动下载并缓存对应版本的 gradle 到 ~/.gradle/wrapper/dists/。也就是说,只要项目有 gradle/wrapper/gradle-wrapper.properties,你连 gradle 命令都不用装,直接 ./gradlew build 就行。
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
所以真正该花时间确认的是:
- 项目里
gradle/wrapper/gradle-wrapper.properties中的distributionUrl是否可访问(国内有时被墙,可替换成阿里云镜像地址) -
~/.gradle/gradle.properties里有没有配错org.gradle.jvmargs导致 OOM(尤其 M1/M2 芯片上堆内存默认值偏低) - IDE(如 IntelliJ)是否勾选了 “Use Gradle from wrapper” —— 这个选项一关,它就会去读你本地的
GRADLE_HOME,反而容易和项目脱节
验证时别只看 gradle -v
输出版本号只是第一步。真正要确认装对了,得跑个最小闭环:
mkdir test-gradle && cd test-gradle<br>gradle init --type java-application<br>./gradlew classes
如果最后生成了 build/classes/java/main/,说明从解析 DSL 到调用 JVM 全链路通了。中间任何一步失败,大概率是 JAVA_HOME 没生效、或 shell 配置没重载、或网络卡在下载 wrapper 上——这些比“装没装上”更常出问题。
最常被忽略的一点:Gradle 的行为高度耦合于你当前 shell 的环境变量继承关系。你在 GUI 应用(如 IntelliJ)里启动终端,它不一定加载 ~/.zshrc;用 VS Code 的集成终端,又可能走另一套配置。遇到“命令行能用,IDE 里报错”,第一反应不是重装,而是查它到底用了哪个 shell 和哪些环境变量。










