pyenvと似たような感じですね。
コマンドチートシート
command | 内容 |
---|---|
goenv commands | 使用可能なgoenvコマンドを全て表示 |
goenv completions | --completeを指定して呼び出すことにより、自身および他のコマンドの自動補完を提供します。 |
goenv exec | 指定した仮想環境のGoバージョンでファイルを実行する。 例)goenv exec go run main.go |
goenv global | すべてのシェルで使用されるGoのグローバルバージョンを設定する。 |
goenv help | コマンドのヘルプを表示 例)goenv help execとか、goenc help installなど、helpのあとにコマンドを入力すると、当該コマンドのヘルプを表示してくれる。 |
goenv hooks | 特定のgoenvコマンドのフックスクリプトを一覧表示する。 |
goenv init | goenvのシェル環境を構成する。 goenvをシェルと統合する場合に使う。 .bashrcや.zshrc、.bash_profileに「eval "$(goenv init -)"」を追記しておく必要がある。 |
goenv install | Goバージョンのインストール(インストール可能なバージョンは「goenv install -l」で表示できる。) |
goenv local | ローカルのアプリケーション固有のGoバージョンを設定する。 グローバルのGoはv1.10.0だが、特定のフォルダだけv1.11.0にしたりとかできる。 |
goenv prefix | Goバージョンがインストールされているディレクトリを一覧表示。 |
goenv rehash | goenvが認識するすべてのGoバイナリ(つまり、〜/.goenv/versions//bin/)にshimをインストールする。 Goの新しいバージョンをインストールした後、またはバイナリを提供するパッケージをインストールした後に、このコマンドを実行するらしい。 |
goenv root | Goバージョンとshimが保持されているルートディレクトリを表示する。 |
goenv shell | シェルでGOENV_VERSION環境変数を設定して、シェル固有のGoバージョンを設定する。 アプリケーション固有のバージョンとグローバルバージョンをオーバーライドするので、一番強い(小並感)。 解除は「goenv shell --unset」 |
goenv shims | goenvのshimを一覧表示する。 |
goenv uninstall | Goバージョンの削除。 例)goenv uninstall 1.11.0 |
goenv version | アクティブなGoバージョンを一覧表示する。 |
goenv --version | goenv自体のバージョンを表示する。 |
goenv version-file | Goバージョンを設定しているファイルを一覧表示する。 |
goenv version-file-read | 指定されたgo-versionファイルが存在する場合、そのファイルを読み取る。 例)goenv version-file-read ./go-version |
goenv version-file-write | go-versionファイルのバージョンを書き換える。 |
goenv version-name | 現在のGoバージョンを表示 |
goenv version-origin | Goバージョンの設定方法を表示する。 |
goenv versions | 全てのGoバージョンを一覧表示し、現在のアクティブバージョンの横には「*」を表示する。 |
goenv whence | 指定されたコマンドがインストールされたすべてのGoバージョンを一覧表示。 |
goenv which | 指定したコマンドを実行したときにgoenvが呼び出す実行可能ファイルのフルパスを表示する。 |
goenv導入(Homebrew)
$ brew update
$ brew install goenv
.bash_profile
に追記(環境によっては.bashrc
や.zshrc
)
echo 'export PATH="$HOME/.goenv/bin:$PATH"' >> ~/.bash_profile
echo 'export GOENV_DISABLE_GOPATH=1' >> ~/.bash_profile
echo 'eval "$(goenv init -)"' >> ~/.bash_profile
echo 'eval "$(goenv init -)"' >> ~/.bash_profile
忘れずに反映
source ~/.bash_profile
goenvの最新バージョン取得
brew installしたgoenvは新しいGoバージョンが出ても反映してくれません。
新しいものは全てgoenv 2.0.0bataXXに反映されていくので、それをインストールします。
brew install --HEAD goenv
以下のようなエラーが出た場合は、エラーメッセージに従って「brew unlink goenv」をしてから再度実行しましょう。
Error: goenv 1.23.3 is already installed
To install HEAD, first run `brew unlink goenv`.
Warning: Skipping (old) /usr/local/Cellar/goenv/1.23.3 due to it being linked
注意
--HEADでインストールしたものはbrew upgradeで更新してくれない
ので、--fetch-HEAD
で更新する。
brew upgrade --fetch-HEAD goenv
めんどくさい(;ω;)