2017年6月30日金曜日

goenv導入

GO言語のバージョンを気軽に変更できるツール goenv を導入のメモ
goenvについて
goenvは、pyenvやrbenvと同様のツールです。コマンドも大抵の場合、pyenvなどと合わせてあり理解しやすいです。 しかし、goenvは同名のツールが乱立しており、調べたら沢山あって驚きました。

※GODOCに載っていた同名ツール

※その他

この他、rbvm と同様のツールである gvm もあります。

https://github.com/moovweb/gvm

こちらの方が、メジャーなようです。

私は滅多に使わないので、pyenvとコマンドが一緒で、brewで簡単に導入できる、https://github.com/syndbg/goenv を使用します。

goenvのインストール
macOSの場合は、brewでインストール可能です。
$ brew update
$ brew install goenv

次に、bashプロファイル(.bash_profile)に、次に一行を追加します。

eval "$(goenv init -)"

以上でインストールを完了です。変更したbashプロファイルをターミナルで再読込する場合は、次のコマンドを実行します。

$ source ~/.bash_profile

※ Windowsの場合は、こちらを参照してください。
https://github.com/syndbg/goenv

goenv使い方
pyenvと同じだと思いますが、使い方を書いてみます。

goenvでインストール可能なgoのバーション一覧は、次のコマンドで表示できます。

$ goenv install -l
Available versions:
  1.2.2
  1.3.0
  1.3.1
  ...省略...
  1.7.5
  1.8.0
  1.8.1
  1.8.3

試しに、1.6.3を導入してみます。

$ goenv install 1.6.3
Downloading go1.6.3.darwin-amd64.tar.gz...
-> https://storage.googleapis.com/golang/go1.6.3.darwin-amd64.tar.gz
Installing Go Darwin 64bit 1.6.3...
Installed Go Darwin 64bit 1.6.3 to /Users/xxx/.goenv/versions/1.6.3

1.6.3に切り替えるには、次のコマンドでグローバル設定を変えれます。

$ goenv global 1.6.3
しかしデフォルト設定してしまうと、goenvコマンドでは元に戻すことができません。

ローカルのディレクトリーのみ設定を変える場合は、

$ goenv local 1.6.3
とします。

ローカル設定では、--unset オプションで元に戻すことが可能です。

$ goenv local --unset

さてgoのバージョンを確認してみましょう。

$ go version
go version go1.6.3 darwin/amd64
1.6.3に切り替わったことが確認できると思います。

最新バージョンもインストールして切り替えれるようにした方が良いでしょう。

$ goenv install 1.8.3

goenvでインストール済みバージョンと、現在使用中のバージョンを表示するには次のコマンドです。

$ goenv versions
  system
* 1.6.3 (set by /Users/xxx/.goenv/version)
  1.8.3
system と表示されているのは、goenv外(brew)でインストールした go言語です。

グローバル設定の取り消しコマンドはありませんが、バージョン表示されている /Userx/xxx/.goenv/version ファイルを削除すれば、設定を取り消すことが可能です。