FREEDOM251

Freedom251 › Runtime Version Managers

GVM

Free plan LinuxMac

Visit GVM Alternatives Pricing

GVM's own site

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

PlanBilled and limitsPrice
gvmGo version management · MIT-licensed softwareFree

As github.com lists them, read 4 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the GVM repository on GitHub.
  2. Install Bison and the additional tools required by your platform instructions.
  3. Use an existing Go installation for bootstrapping when compiling Go 1.5 or later.
  4. 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

Look at these too