M1 MacにGo言語をインストールする

Go 言語は 2021/02/16 にリリースしたバージョン 1.16 で M1 プロセッサに対応したようです.

goenv インストール

anyenv という便利そうなものもありますが,今回は公式の通りにインストールしました.

terminal

$ git clone https://github.com/syndbg/goenv.git ~/.goenv

// Homebrewも可
$ brew install goenv

Git からクローンして場合はパスを通します.

.zshrc

export GOENV_ROOT="$HOME/.goenv"
export PATH="$GOENV_ROOT/bin:$PATH"

クローン,Homebrew の利用に関わらず,下記の設定を追加します.

.zshrc

eval "$(goenv init -)"

GOPATH, GOROOT を指定したい場合は上記のコマンド以降に書きます.前者は Go SDK の格納ディレクトリを,後者はワークスペースのルートを定義する変数です.

.zshrc

export GOPATH="$HOME/go"
export PATH="$GOROOT/bin:$PATH"
export PATH="$PATH:$GOPATH/bin"

設定が終了したら,以下のコマンドで再起動します.

terminal

$ exec $SHELL

Go インストール

goenv を使って Go をインストールします.

terminal

$ goenv install --list
$ goenv install 1.16.0

現段階で M1 に対応しているのは~~ 1.16 のベータ版です.~~1.16.0 が対応していました.

特定のディレクトリで Go のバージョンを指定する場合は local コマンドを用います.

terminal

$ goenv local 1.16.0

ディレクトリ内で Go のバージョンを確認すると,以下のようになります.

terminal

$ go version
go version go1.16.0 darwin/arm64

対応前の 1.15.x をインストールしようとしてもコマンドは実行されません.

もし使いたい場合は Rosetta2 でターミナルを起動すれば良さそう.