You know, rbenv but for go.
Latest commit 0e958b6 Jun 22, 2016 @spraints spraints committed on GitHub Merge pull request #24 from sgerrand/update-download-location
Update download URI
Failed to load latest commit information.
bin initial commit Jun 15, 2013
libexec Rebranding Jun 21, 2016
.gitignore initial commit Jun 15, 2013
LICENSE initial commit Jun 15, 2013 Update README to point at latest release Jul 30, 2014


rbenv, but for Go.


To install the latest stable release:

git clone -b v0.0.5 ~/.goenv

Then add the following to your shell config at the end:

export PATH="$HOME/.goenv/bin:$PATH"
eval "$(goenv init -)"


» goenv help
Usage: goenv <command> [<args>]

Some useful goenv commands are:
   exec        Execute a command from a particular Go version.
   shell       Set GOENV_VERSION for the lifetime of a shell.
   local       Persist the preferred Go version in the cwd.
   global      Persist the preferred Go default version.
   install     Install a version of Go.
   uninstall   Uninstall a version of Go.
   version     Show the current Go version.
   versions    Display all versions of Go installed in `${GOENV_ROOT}/versions/*'.
   rehash      Rehash goenv shims (run this after installing executables)

See `goenv help <command>' for information on a specific command.


This library was heavily, heavily, heavily inspired by @sstephenson's rbenv and ruby-build projects. A few ideas were also taken from nvm.

A number of patterns and utilities are borrowed from that project, and it is my hope that goenv provides the same simplicity, elegance, and usability that I've come to love in rbenv and ruby-build for Go users.