A Gradle version manager with managed installs, fast switching, and clean cross-platform release binaries.
curl -fsSL https://raw.githubusercontent.com/crowforkotlin/gradle-version-manager/main/install.sh | bashThis runs directly from the pipe, does not save install.sh locally, and asks where to add the gvm PATH. The default follows the current shell: bash uses ~/.bashrc, zsh uses ~/.zshrc, and other shells default to no changes.
curl -fsSL https://raw.githubusercontent.com/crowforkotlin/gradle-version-manager/main/install.sh | GVM_RELEASE_URL="<release-tarball-url>" bashparu -S gvm-binyay -S gvm-bincargo build --release
./install.sh --from ./target/release/gvm --activatecurl -fsSL https://raw.githubusercontent.com/crowforkotlin/gradle-version-manager/main/install.sh | GVM_RELEASE_TAG=release-1.0.2 bashActivation asks whether to update ~/.bashrc, ~/.zshrc, or no file. install.sh --rc-file <path> can select a file directly. The required PATH entry is:
export PATH="$HOME/.local/bin:$HOME/.gvm/bin:$PATH"install.sh is a POSIX sh script and can run on Linux, macOS, and Git Bash.
Android builds are published as separate release assets for Termux or another Android shell environment.
Install a Gradle version:
gvm install 8.13Install the latest stable release:
gvm install current
gvm install latest
gvm install latest-8Switch and inspect:
gvm use 8.13
gvm current
gvm listAdd an existing Gradle home:
gvm add ~/.gradle/wrapper/dists/gradle-8.13-all/<hash>/gradle-8.13
gvm add --link /opt/gradle-8.13| Command | Purpose |
|---|---|
gvm install <version> | Download and install a managed Gradle version |
gvm list-remote [--major N] [--all] | List downloadable versions from Gradle's version service |
gvm detect | Find existing Gradle homes on the machine |
gvm add <path> [--link] | Add an existing Gradle home by copying or symlinking it |
gvm list | Show managed versions |
gvm use <version> | Switch the active global version |
gvm current | Print the selected version |
gvm remove <version> [--force] | Remove a managed version |
gvm clean [--wrapper-cache|--all] | Clean ~/.gvm/tmp, broken links, and optional Wrapper remnants |
| Alias | Meaning |
|---|---|
current | The current stable Gradle release |
latest | Same as current |
latest-8 | The latest stable release in the 8.x line |
gvm install lts is intentionally unsupported because Gradle does not publish an official LTS line.
~/.gvm/
versions/
8.13/
current -> /home/you/.gvm/versions/8.13
bin/
gradle -> ../current/bin/gradle
tmp/
gvmkeeps its own store under~/.gvm.~/.gradle/wrapper/distsis treated as a detection and add source, not as the managed source of truth.gvm addcopies by default so cleaning Wrapper caches or SDKMAN does not break managed versions.gvm removedeletes copied installs and removes only the gvm-side symlink forgvm add --link.gvm cleanremoves transient files from~/.gvm/tmpand can also remove partial Wrapper cache files such as.partand.lck.
Current release archives are published for:
linux-x86_64linux-aarch64android-x86_64android-aarch64darwin-x86_64darwin-aarch64windows-x86_64windows-aarch64
The AUR package is for Arch Linux and currently supports x86_64 and aarch64. Android binaries are distributed through GitHub Releases instead of AUR.
Windows releases also include standalone executables:
gvm-<version>-windows-x86_64.exegvm-<version>-windows-aarch64.exe