Freedom251 › Runtime Version Managers
GVM

What GVM is
GVM is a free tool for managing Go versions on Linux and macOS. It can install and remove Go versions by tag, including releases and tip, and `gvm listall` displays available release tags with an option for weekly builds. The `gvm diff` command shows 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 their own native code and dependencies through an overlay prefix and related environment variables. Installation options include choosing a source or name and setting up protobufs or build tools, with options to prefer or require binaries. The listed scope includes project version pinning, lockfile support, automatic switching, shell integration, and CI/CD use. Installation requires Bison, while 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; Go 1.4 is given as an example. The repository includes an MIT license.
Who it suits
It suits Go developers who want to manage versions and GOPATH package sets, including repository-local sets. The listed capabilities also cover project version pinning, automatic switching, shell integration, and CI/CD use.
What it does well
- Installs and removes Go versions by tag.
- Manages repository-local GOPATH package sets.
- Supports version pinning and lockfiles.
- MIT-licensed software.
What to know first
- Installation requires Bison.
- Platform instructions list additional tools such as Git and GCC.
- Building Go 1.5 or later needs an existing Go installation.
Limits
Compiling Go 1.5 and later requires an existing Go installation for bootstrapping; the instructions give Go 1.4 as an example. Installation also requires Bison and may call for Git, Mercurial, Make, and GCC.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| gvm | Go version management · MIT-licensed software | Free |
As github.com lists them, read 4 Oct 2026. The maker's own page has the final word.
Getting started
- Open the GVM repository on GitHub.
- Install Bison and the additional tools required by your platform instructions.
- Use an existing Go installation for bootstrapping when compiling Go 1.5 or later.
- Install and manage Go versions by tag, and use package sets for projects.
Verdict
GVM combines Go version management with GOPATH package-set features and project integration. Review its build prerequisites before installing, especially if compiling newer Go versions.
Questions
What does GVM do?
GVM manages Go versions and GOPATH package sets. It can install or uninstall versions by tag and link project directories into GOPATH.
Is GVM free and open source?
Yes. It is free and the repository includes an MIT license.
Which operating systems does GVM support?
The listed platforms are Linux and macOS.
What does GVM require to install?
Installation instructions require Bison and list additional tools such as Git, Mercurial, Make, and GCC.
Does compiling Go require an existing Go installation?
Compiling Go 1.5 and later requires an existing Go installation for bootstrapping; Go 1.4 is given as an example.
Who maintains GVM?
The README names Benjamin Knigge as maintainer and welcomes contributions.
Facts from GVM's own pages
- Available releases
- The `gvm listall` command lists available release tags, with an option to include weekly builds. · github.com, 4 Oct 2026
- GOROOT changes
- The `gvm diff` command lists added and removed files in GOROOT. · 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
- Install versions
- It installs and uninstalls Go versions by tag, including releases and the tip version. · 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
- 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
- Maintainer
- The README says the project is lovingly maintained by Benjamin Knigge and welcomes contributions. · 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
- Package sets
- It manages GOPATH package sets and can keep a package set local to a repository. · 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
- Project linking
- GVM can link project directories into GOPATH. · github.com, 4 Oct 2026
- Purpose
- GVM provides an interface to manage Go versions. · 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
Where GVM stands on Freedom251
- Runtime Version Managers#12 of 30
- Development Environment Managers#24 of 50