Gradle安装前必须确保Java环境就绪,否则gradle -v会报错;推荐用SDKMAN!安装(自动管理PATH、版本切换方便),其次手动解压(适合内网),APT/YUM方式易装旧版需谨慎。

Gradle安装前必须确认Java环境已就绪
没装JDK或JAVA_HOME没配对,装完gradle -v会直接报错Command 'gradle' not found或No Java runtime present。这不是Gradle的问题,是它根本启动不了。
执行java -version和echo $JAVA_HOME,两个都得有输出且指向有效JDK路径(比如/usr/lib/jvm/java-17-openjdk-amd64)。如果$JAVA_HOME为空,先配置好再继续——否则后面所有方式都会失败。
- Ubuntu/Debian系常用JDK路径:
/usr/lib/jvm/java-17-openjdk-amd64 - CentOS/RHEL系常见路径:
/usr/lib/jvm/java-17-openjdk - 手动安装JDK后,务必在
/etc/profile或~/.bashrc里加export JAVA_HOME=...并source生效
用SDKMAN!装Gradle最省心(适合能连境外源的机器)
这是目前Linux下最推荐的方式:版本切换方便、自动管理PATH、不污染系统目录,适合日常开发或CI环境。
执行这四步就行:
- 运行
curl -s "https://get.sdkman.io" | bash,然后source "$HOME/.sdkman/bin/sdkman-init.sh" - 验证
sdk version有输出,说明SDKMAN!就位 - 查可用版本:
sdk list gradle,注意看列表里带(installed)和(default)标记的 - 装指定版本(比如最新稳定版):
sdk install gradle 8.10,再设为默认:sdk default gradle 8.10
完成后新开终端或执行source ~/.bashrc,gradle -v就能看到版本和Java信息。不用改/etc/profile,也不用碰sudo权限。
手动解压安装适合内网或需要路径可控的场景
如果你的服务器不能访问get.sdkman.io或services.gradle.org,或者公司要求所有工具统一放在/opt下,那就走手动方式。关键不是“能不能装”,而是路径和权限别出错。
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
步骤很直白,但容易卡在三处:
- 下载地址要用
https://services.gradle.org/distributions/下的-bin.zip(不是-all.zip,后者体积大、解压慢,日常开发完全不需要) - 解压后重命名成
/opt/gradle/current这类固定名,后续升级只需改软链或mv,不用动环境变量 - 写
/etc/profile时,export GRADLE_HOME=/opt/gradle/current和export PATH=$GRADLE_HOME/bin:$PATH这两行**等号两边不能有空格**,否则source后$GRADLE_HOME为空
最后别忘了source /etc/profile,再用which gradle确认命令是否在PATH里。
APT/YUM安装只适合图省事且不挑版本的用户
Ubuntu/Debian用apt install gradle、CentOS 7用yum install gradle确实一键到位,但实际装上的往往是旧版(比如Ubuntu 22.04仓库里还是7.4),而Android项目或新Spring Boot通常要求8.x以上。
除非你明确知道当前仓库里的版本够用,否则不建议走这条路。真要用,记得检查:
-
apt policy gradle看实际候选版本 - 装完执行
gradle --version,留意输出里的Build time是否早于2024年 - 如果版本太老,
gradle build可能报Could not initialize class org.gradle.internal.jvm.JvmVersionDetector之类兼容错误
手动或SDKMAN!装的gradle命令优先级高于系统包管理器装的,所以混用时容易混乱——同一台机器上最好只选一种方式。
真正麻烦的从来不是“怎么装”,而是装完发现gradle -v成功但./gradlew build失败,那大概率是项目里gradle/wrapper/gradle-wrapper.properties指定了不同版本,和本地CLI版本冲突。这种问题不在安装环节,但常被误认为装错了。

















