12
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

goenvのコマンドチートシート

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

めんどくさい(;ω;)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
12
Help us understand the problem. What are the problem?