Goはじめよう。
rubyにrbenvあるみたいに
goenvっていうのを入れたらバージョン管理が楽になるらしい。
ということで、環境構築はじめましたが一度go1.11.4
を入れてしまいました。
それからgo version go1.13.4 darwin/amd64
ってターミナルに
表示されるまでにやったことの備忘録。
もしお気づきのことがあれば、コメントいただけると助かります。
本トピックの環境
macOS Mojave ver. 10.14.6
Homebrew インストール済
参考にしたサイト・記事
1. go1.11.4 インストール(後ほど削除しました)
goenv installationの手順にある通りgoenvのインストールには2通りあります。
1. goenvのGitHub
2. Homebrew
まずここで選択を誤ったのですが、Homebrewが簡単そうだと思って、Homebrewから開始しました。
$ brew update
$ brew install goenv
完了したらインストールできるバージョンを確認。
//インストール可能なバージョンを確認
$ goenv install -l
Available versions:
1.2.2
1.3.0
1.3.1
︙
1.11.3
1.11.4
go1.11.4
をインストール。
$ goenv install 1.11.4
そして環境変数の設定。
//vimで.bash_profileを開く
$ vi ~/.bash_profile
vimが開いたら以下を追記して保存します。
export GOPATH="$HOME/go"
export GOENV_ROOT="$HOME/.goenv"
export PATH="$GOENV_ROOT/bin:$PATH"
eval "$(goenv init -)"
export PATH="$PATH:$GOPATH/bin"
もちろんターミナル上で以下のコマンドを打つ方法も同じ結果になります。
goenv installationでは以下の方法で載っています。
他のコマンドはgoenv installationを参照してください。
$ echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.bash_profile
環境変数設定が完了したら、パスを通す。
そして、今回のインストールを反映させるためのコマンド。
//パスを通す
$ source ~/.bash_profile
//globalにgoenv 1.11.4を反映
$ goenv global 1.11.4
$ go version
go version go1.11.4 darwin/amd64
無事にインストールできました。
2. go1.13.4にバージョンアップ
Go公式を閲覧していたら、最新版はgo1.13.4
。(2019年11月9日現在)
最新版にするため、以下の手順でgoenvのアンインストールを行いました。
参照:goenv installationの下部にあるUninstalling goenvとUninstalling go version
$ rm -rf `goenv root`
$ brew uninstall goenv
上記コマンドの前に一つ手順があります。
環境変数の設定で追加したgoenv init
の一行を削除するというものです。
でも、これはgo1.13.4
でも使用するのでそのままにしておきました。
goenvが削除されたことを$ brew list
で確認。
そして改めてgoenv installationを熟読。
1の手順の最初に大事なこと書いてありました。
This will get you going with the latest version of goenv and make it easy to fork and contribute any changes back upstream.
(1の手順だったら)最新版のgoenvを使用できるし、フォークや変更の反映もupstreamに簡単にできるよ。(ざっくり訳)
goenv installationのBasic GitHub Checkoutからやり直します。
$ git clone https://github.com/syndbg/goenv.git ~/.goenv
.goenvにgit cloneされます。
そして再度インストールできるバージョンを確認。
//インストール可能なバージョンを確認
$ goenv install -l
Available versions:
1.2.2
1.3.0
1.3.1
︙
1.13.3
1.13.4
今度はgo1.13.4
が表示されていました。
そしてgo1.13.4
をインストール。
$ goenv install 1.13.4
環境変数の設定は、go1.11.4
インストールの際にすでに完了しているので省略。
再度、今回の変更を反映させるために以下コマンド。
$ goenv global 1.13.4
$ go version
go version go1.13.4 darwin/amd64
以上です。
私のような初心者が使う分には、go1.11.4
でもgo1.13.4
でも、どちらも問題なく動いてくれています。
もちろんHomebrewにもgoenvがない状態です。
rbenvをHomebrewでインストールしていたので、きちんと動くのか不安でしたが現状問題ありません。
また何か問題が発生したら追記します。