GVM

C
C tier on Development Environment ManagersScore 6.9 · #14 of 51
Android app
Not listed
Free plan
Yes
Runs on
Linux, Mac
github.com
The GVM homepage

Summary

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.

Who it is for

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.

What is 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.

What to know first

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

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.

GVM plans and pricing

All plans
gvm Free Go version management · MIT-licensed software github.com · 4 Oct 2026

Compared on development environment managers

Free plan
Yesgithub.com
Supported scope
single_languagegithub.com
Project version pinning
Yesgithub.com
Lockfile support
Yesgithub.com
Automatic switching
Yesgithub.com
Shell integration
Yesgithub.com
Operating systems
cross_platformgithub.com
CI/CD usage
Yesgithub.com

Facts

Purpose
GVM provides an interface to manage Go versions.github.com · 4 Oct 2026
Install versions
It installs and uninstalls Go versions by tag, including releases and the tip version.github.com · 4 Oct 2026
GOROOT changes
The `gvm diff` command lists added and removed files in GOROOT.github.com · 4 Oct 2026
Package sets
It manages GOPATH package sets and can keep a package set local to a repository.github.com · 4 Oct 2026
Available releases
The `gvm listall` command lists available release tags, with an option to include weekly builds.github.com · 4 Oct 2026
Install options
Install options include choosing a source or name, installing protobufs or build tools, and preferring or requiring binaries.github.com · 4 Oct 2026
Project linking
GVM can link project directories into GOPATH.github.com · 4 Oct 2026
Native dependencies
GVM supports package set-specific native code and dependencies using an overlay prefix and related environment variables.github.com · 4 Oct 2026
Platforms
The README provides requirements and setup instructions for macOS and Linux, and also lists FreeBSD requirements.github.com · 4 Oct 2026
Prerequisites
The installation instructions require Bison, and the platform-specific sections list additional tools such as Git, Mercurial, Make, and GCC.github.com · 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.github.com · 4 Oct 2026
Security
The GitHub security page opened for the repository displays no security details in the accessible page content.github.com · 4 Oct 2026
Maintainer
The README says the project is lovingly maintained by Benjamin Knigge and welcomes contributions.github.com · 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.github.com · 4 Oct 2026

Best GVM alternatives

See all 20

Where it ranks on Everything Xiaomi

Is GVM yours?

Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.

Sources