Skip to content
SPECIFICTION
Get listed

goenv vs GVM

goenv

github.com

GVM

github.com

Side by side

FiguregoenvGVM
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
macOSYesYes
LinuxYesYes
Plans published11
Spec score · Runtime Version Managers7.7 (#10)7.7 (#11)
Spec score · Development Environment Managers7.6 (#29)7.7 (#25)
LicenseThe repository identifies its license as MIT.The repository includes an MIT license granting permission to use, copy, modify, distribute, sublicense, and sell copies of the software subject to its conditions.
Purposegoenv manages Go versions using a model similar to pyenv and rbenv.GVM provides an interface to manage Go versions.

Plans

goenv

  • goenvFree

goenv pricing →

GVM

  • gvmFree

GVM pricing →

In their own words

goenv

goenv manages Go versions on Linux and macOS using a model similar to pyenv and rbenv. It supports global selections, per-project versions, and environment-variable overrides. Shim executables placed in PATH route Go commands to the selected installation, enabling automatic switching and project version pinning. The installation guide says goenv downloads prebuilt Go binaries provided by Google, while new Go versions are added automatically on a daily cron schedule. The project identifies v3 as its current stable version and recommends it for new installations; it says v3 is fully backward compatible with v2. Version 2 receives security patches and critical bug fixes, with support ending on or before December 31, 2028. Setup documentation covers Bash and Zsh, including a .bashrc note for Ubuntu. Installation options include Homebrew and ZPlug for Zsh, and the README includes AWS CodeBuild guidance. goenv is free under the MIT license.

Visit github.com

GVM

GVM is a free tool for managing Go versions on Linux and macOS. It installs and removes versions by tag, including releases and the tip version; `gvm listall` shows available release tags and can include weekly builds. Install options allow a source or name to be selected, along with settings for protobufs, build tools, and whether binaries are preferred or required. The `gvm diff` command reports files added to or removed from GOROOT. GVM also manages GOPATH package sets, including sets kept local to 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. The project supports 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 offered as an example. The repository includes an MIT license.

Visit github.com