最近PCを入替えたので備忘を兼ねてメモ
やりたいこと
- Go が動かせるようになること
- バージョンの切替が簡単にできること
環境情報
% sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H1323
% zsh --version
zsh 5.7.1 (x86_64-apple-darwin19.0)
やったこと
- homebrew のインストール
- homebrew で goenv をインストール
- goenv で go をインストール
1. homebrew のインストール
公式サイトからインストール用のコマンドを取得してきます。
取得してきたコマンド
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
実行します
% brew -v
Homebrew 3.2.10
Homebrew/homebrew-core (git revision bb44918281; last commit 2021-09-03
無事、インストールできました
2. goenv のインストール
homebrew を使ってインストールします
% brew install goenv
% goenv -v
goenv 1.23.3
無事インストールできました
goenv, go を使うのに必要な環境変数を設定しておきます
% vi ~/.zshrc
で編集
export GOPATH=$HOME/go
export GOENV_ROOT=$HOME/.goenv
export PATH="$GOENV_ROOT/bin:$PATH"
eval "$(goenv init -)"
export PATH="$GOROOT/bin:$PATH"
export PATH="$PATH:$GOPATH/bin"
以下のコマンドで設定を読み込んでおきます
% source ~/.zshrc
3. go のインストール
まずは goenv でインストール可能なバージョンを確認します
% goenv install -l
Available versions:
...
...
1.11.2
1.11.3
1.11.4
1.12beta1
あれ、古いバージョンしかないぞ??
brew でインストールできる goenv
自体のバージョンが古いらしい。。。
なので、github から直接とってきます。
その前に、お片付けで brew install goenv
をアンイストールします
% brew uninstall goenv
brew uninstall goenv
brew uninstall goenv
Uninstalling /usr/local/Cellar/goenv/1.23.3... (158 files, 265KB)
では、気を取り直して、
公式から最新版を取得してきます
% git clone https://github.com/syndbg/goenv ~/.goenv
...
...
# インストールできたのでバージョンを確認
% goenv -v
goenv 2.0.0beta11
無事にインストールできました
バージョンも変わってますね。(1.23.3 -> 2.0.0beta11)
同じようにインストールできる go のバージョンを確認していきます
% goenv install -l
Available versions:
...
...
1.16.0
1.16beta1
1.16.1
1.16.2
1.16.3
1.16.4
1.16.5
1.16.6
1.16.7
1.17.0
1.17beta1
1.17rc1
1.17rc2
最新のものまで表示されるようになりました。
今回は、 1.17.0
を指定してインストールします
% goenv install 1.17.0
...
...
Installing Go Darwin 64bit 1.17.0...
Installed Go Darwin 64bit 1.17.0 to /Users/.goenv/versions/1.17.0
インストールできました
インストールできたバージョンを golobal で有効化します
% goenv global 1.17.0
# 設定されているバージョンを確認
% go version
go version go1.17 darwin/amd64
これで無事に設定できました。
バージョンを変更したい場合は、
# 1. 使いたいバージョンをインストール
% goenv install x.xx.x
# 2. global で使用するバージョンを指定
% goenv global x.xx.x
とするだけ。
また、特定のリポジトリでのみ特定のバージョンを指定したい場合は
% cd /hoge/repository
% goenv local x.xx.xxx
としてあげればOKです。
便利ですね