goenv
github.com
What it is
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.
Spec sheet
- Purpose
- goenv manages Go versions using a model similar to pyenv and rbenv.Read 3 Oct 2026 · github.com
- Integrations
- The installation page documents Homebrew and a ZPlug plugin manager for Zsh.Read 3 Oct 2026 · github.com
- License
- The repository identifies its license as MIT.Read 3 Oct 2026 · github.com
- CI usage
- The README includes guidance for using goenv in AWS CodeBuild.Read 3 Oct 2026 · github.com
- Command routing
- goenv uses shim executables in PATH to route Go commands to the selected installation.Read 3 Oct 2026 · github.com
- Compatibility
- The project says v3 is fully backward compatible with v2.Read 3 Oct 2026 · github.com
- Current release
- The project identifies v3 as its current stable version and recommends it for new installations.Read 3 Oct 2026 · github.com
- Legacy support
- The project says v2 receives security patches and critical bug fixes, with support ending on or before December 31, 2028.Read 3 Oct 2026 · github.com
- Shell setup
- The installation guide gives setup instructions for Bash and Zsh, and notes Ubuntu users should edit .bashrc.Read 3 Oct 2026 · github.com
- Supported systems
- The README documents Homebrew installation for macOS and Linux.Read 3 Oct 2026 · github.com
- Version discovery
- New Go versions are added automatically on a daily cron schedule.Read 3 Oct 2026 · github.com
- Version installation
- The installation guide says goenv downloads and places prebuilt Go binaries provided by Google.Read 3 Oct 2026 · github.com
- Version selection
- It supports global, per-project, and environment-variable overrides for the Go version.Read 3 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Global and per-project Go version selection
- Environment-variable overrides
- PATH shims route commands automatically
- Daily discovery of new Go versions
- MIT-licensed and free
Limits
- Supports Linux and macOS only
- Version 2 support ends on or before December 31, 2028
- Requires shell setup for Bash or Zsh
Who it suits
goenv suits Go developers on Linux or macOS who need different versions globally, per project, or through environment variables. It also fits shell-based workflows and CI usage such as AWS CodeBuild.
Verdict
goenv provides flexible Go version selection with shims, project pinning, and shell integration. Its current v3 line is recommended for new installations, while v2 remains supported only through its stated end date.
Where Specifiction places it
- Runtime Version Managers#10 of 307.7
- Development Environment Managers#29 of 507.6