Gradle可在无sudo权限时安装于家目录:下载bin.zip至~/Downloads,解压到~/gradle,配置~/.bashrc中GRADLE_HOME和PATH,source后执行gradle -v验证;需确保JDK 17+可用,必要时手动部署JDK至家目录并设置JAVA_HOME。

没有 sudo 权限,照样能装 Gradle —— 关键是别往系统目录写,所有操作都限定在你自己的家目录里。
下载和解压到用户目录
不要尝试往 /opt、/usr/local 这类需要 root 的路径放东西。直接用 wget 下载到 ~/Downloads 或 ~ 下任意你有写权限的子目录:
- 执行
wget https://downloads.gradle-dn.com/distributions/gradle-8.10-bin.zip(选最新稳定版,-bin.zip足够,体积小、启动快) - 解压到
~/gradle:unzip gradle-8.10-bin.zip -d ~/gradle - 确认解压后路径是
~/gradle/gradle-8.10(不是多一层嵌套)
配置用户级环境变量
改 ~/.bashrc 或 ~/.zshrc(看你 shell 是哪个),别碰 /etc/profile —— 那个要 sudo:
- 加这两行(注意路径别写错):
export GRADLE_HOME=$HOME/gradle/gradle-8.10export PATH=$GRADLE_HOME/bin:$PATH - 运行
source ~/.bashrc(或source ~/.zshrc)立即生效 - 检查是否生效:
echo $GRADLE_HOME应输出完整路径;which gradle应返回~/gradle/gradle-8.10/bin/gradle
验证安装但避开 JAVA_HOME 权限陷阱
即使没权限改系统 Java,只要 java -version 能跑,Gradle 就能用。但要注意:
- 运行
gradle -v时如果报Could not determine java version,说明java命令不可见或版本太低(Gradle 8.x 要求 JDK 17+) - 如果你只有旧版系统 Java(比如 CentOS 7 自带的 1.8),又没权限装新 JDK,可以手动下载 JDK 17+ tar.gz 到家目录,解压后在
~/.bashrc里优先设置:export JAVA_HOME=$HOME/jdk-17.0.2,再把$JAVA_HOME/bin加到PATH最前面 - Gradle 不会读
/etc/profile里的JAVA_HOME,只认当前 shell 环境里的值
后续项目构建仍需注意权限边界
没管理员权限不影响日常构建,但两个地方容易卡住:
-
gradle build默认把依赖下到~/.gradle,这个目录你有完全控制权;但如果项目里硬编码了GRADLE_USER_HOME=/opt/gradle-cache,就会因无写权限失败 —— 检查gradle.properties和build.gradle是否含这类配置 - 某些插件(如
application插件生成启动脚本)可能尝试写/usr/local/bin,这时得显式指定distZip.destinationDirectory = file("$buildDir/dist")改到用户目录下
核心就一条:所有路径必须可控、可写、不越界。一旦看到任何 Permission denied,先 ls -ld 看目标路径归属,再回溯是哪条命令或配置把它引向了系统区域。


















