EVERYTHING XIAOMI
Get listed

GVM

GVM is a Go version manager for Linux and macOS.

Place
#10 of 30
Score
6.1
GVM's website

What GVM is

GVM is a Go version manager for Linux and macOS. It installs and removes Go versions by tag, including releases and tip, and `gvm listall` shows available release tags with an option to include weekly builds. Install options allow users to choose a source or name, install protobufs or build tools, and prefer or require binaries. The `gvm diff` command reports files added to or removed from GOROOT. GVM also manages GOPATH package sets, including sets kept within a repository, and can link project directories into GOPATH. Package sets can use native code and dependencies through an overlay prefix and related environment variables. GVM supports project version pinning, lockfiles, automatic switching, shell integration, and CI/CD use. Installation requires Bison; platform instructions also list tools such as Git, Mercurial, Make, and GCC. Compiling Go 1.5 or later requires an existing Go installation for bootstrapping, with Go 1.4 given as an example. The project is free and MIT-licensed.

Good

  • Installs and removes Go versions by tag.
  • Can keep package sets local to a repository.
  • Lists GOROOT file changes with `gvm diff`.
  • Supports pinning, lockfiles, and automatic switching.

Watch out

  • Installation requires Bison.
  • Platform instructions list additional tools such as Git and GCC.
  • Go 1.5+ compilation needs an existing Go installation.

Who it suits

GVM suits Go developers who need to manage multiple Go versions and keep package sets or version choices tied to projects. It also fits workflows that use shell integration or CI/CD.

Verdict

GVM brings Go version management and GOPATH package sets together, with project-oriented features such as local package sets and automatic switching. Account for its installation prerequisites and the bootstrap requirement for compiling newer Go versions.

Plans and prices

From GVM's own pricing page, checked 4 Oct 2026.

All about pricing
PlanPriceWhat it gives you
gvmFreeGo version management · MIT-licensed software

The facts

Each one read from GVM's own pages, with the date it was checked.

What it does

Available releases
The `gvm listall` command lists available release tags, with an option to include weekly builds.checked 4 Oct 2026
GOROOT changes
The `gvm diff` command lists added and removed files in GOROOT.checked 4 Oct 2026
Install options
Install options include choosing a source or name, installing protobufs or build tools, and preferring or requiring binaries.checked 4 Oct 2026
Install versions
It installs and uninstalls Go versions by tag, including releases and the tip version.checked 4 Oct 2026
License
The repository includes an MIT license granting permission to use, copy, modify, distribute, sublicense, and sell copies of the software subject to its conditions.checked 4 Oct 2026
Limitations
The README says compiling Go 1.5 and later requires an existing Go installation for bootstrapping, and gives Go 1.4 as an example.checked 4 Oct 2026
Maintainer
The README says the project is lovingly maintained by Benjamin Knigge and welcomes contributions.checked 4 Oct 2026
Native dependencies
GVM supports package set-specific native code and dependencies using an overlay prefix and related environment variables.checked 4 Oct 2026
Package sets
It manages GOPATH package sets and can keep a package set local to a repository.checked 4 Oct 2026
Prerequisites
The installation instructions require Bison, and the platform-specific sections list additional tools such as Git, Mercurial, Make, and GCC.checked 4 Oct 2026
Project linking
GVM can link project directories into GOPATH.checked 4 Oct 2026
Purpose
GVM provides an interface to manage Go versions.checked 4 Oct 2026
Security
The GitHub security page opened for the repository displays no security details in the accessible page content.checked 4 Oct 2026

Where it runs

Platforms
The README provides requirements and setup instructions for macOS and Linux, and also lists FreeBSD requirements.checked 4 Oct 2026

Alternatives to GVM

All alternatives
  1. 1

    nvm

    Free planOpen sourceLinuxmacOSSelf-hostedWindows
    7.4Free plan
  2. 2

    GHCup

    Free planWebLinuxmacOSSelf-hosted
    7.0Free plan
  3. 3

    Jabba

    Free planLinuxmacOSWindows
    6.6Free plan
  4. 4rustup logo

    rustup

    Free planLinuxmacOSWindows
    6.6Free plan
  5. 5

    axe-playwright

    Free planWebLinux
    6.4Free plan
  6. 6

    asdf

    Free planLinuxmacOS
    6.2Free plan