goenv
What it is
goenv manages Go versions on Linux and macOS, with choices available globally, per project, or through environment-variable overrides. Shim executables in PATH route Go commands to the version selected for the current context. Its installation guide says it downloads prebuilt Go binaries provided by Google, and the project adds new Go versions automatically on a daily schedule. The project identifies v3 as its current stable version and recommends it for new installations; it also says v3 is fully backward compatible with v2. The v2 line continues to receive security patches and critical bug fixes, with support ending on or before December 31, 2028. Setup instructions cover Bash and Zsh, including a note for Ubuntu users to edit .bashrc. Installation documentation includes Homebrew and the ZPlug plugin manager for Zsh, while the README includes AWS CodeBuild guidance. goenv is free under the MIT license.
For and against
For
- Supports global, project, and environment overrides
- Shim routing selects the active Go installation
- New Go versions are added daily
- Free under the MIT license
Against
- Supports Linux and macOS only
- Setup requires shell configuration
- The v2 support period ends on or before December 31, 2028
The verdict
goenv offers several ways to select Go versions, with project pinning and shell setup documentation. The project recommends v3 for new installations while continuing limited maintenance for v2.
Who it suits
goenv suits developers on Linux or macOS who need to select Go versions across projects or environments. Its documented shell setup and AWS CodeBuild guidance may also help users configuring development workflows.
Plans and prices
goenv
Go version management · MIT license
Read 3 Oct 2026 · github.com
On the record
- CI usage
- The README includes guidance for using goenv in AWS CodeBuild.github.com · read 3 Oct 2026
- Command routing
- goenv uses shim executables in PATH to route Go commands to the selected installation.github.com · read 3 Oct 2026
- Compatibility
- The project says v3 is fully backward compatible with v2.github.com · read 3 Oct 2026
- Current release
- The project identifies v3 as its current stable version and recommends it for new installations.github.com · read 3 Oct 2026
- Integrations
- The installation page documents Homebrew and a ZPlug plugin manager for Zsh.github.com · read 3 Oct 2026
- Legacy support
- The project says v2 receives security patches and critical bug fixes, with support ending on or before December 31, 2028.github.com · read 3 Oct 2026
- License
- The repository identifies its license as MIT.github.com · read 3 Oct 2026
- Purpose
- goenv manages Go versions using a model similar to pyenv and rbenv.github.com · read 3 Oct 2026
- Shell setup
- The installation guide gives setup instructions for Bash and Zsh, and notes Ubuntu users should edit .bashrc.github.com · read 3 Oct 2026
- Supported systems
- The README documents Homebrew installation for macOS and Linux.github.com · read 3 Oct 2026
- Version discovery
- New Go versions are added automatically on a daily cron schedule.github.com · read 3 Oct 2026
- Version installation
- The installation guide says goenv downloads and places prebuilt Go binaries provided by Google.github.com · read 3 Oct 2026
- Version selection
- It supports global, per-project, and environment-variable overrides for the Go version.github.com · read 3 Oct 2026