🐦

MacでHomebrewを使用せずにGoをセットアップする

2022/09/20に公開

Homebrewは便利ですが、時々Goとは直接関係ないXcodeをアップデートしろとMacに怒られ10分以上待たされることがしばしばあります。
10分もあればHello World!が何回も書けますね。。
そんな時間が勿体ないと感じる方向けにGo公式のArchiveからローカルにインストールする方法を紹介します。

ローカルのMacにGoをインストール済みの場合

全て消してください。

# Homebrewの場合
$ brew uninstall go

GOROOT, GOPATHを環境変数として設定済みの場合は.zshrcor.bashrc or .profileから設定の記述を削除し、ディレクトリも削除します。

# GOROOT設定されているか確認
$ echo $GOROOT
# 設定されていたらディレクトリ削除、GOROOT設定されていない場合は不要
$ rm -rf $GOROOT

# GOPATH設定されているか確認
$ echo $GOPATH
# 設定されていたらディレクトリ削除、GOPATH設定されていない場合は不要
$ rm -rf $GOPATH

環境変数削除

# GOROOT,GOPATHの設定箇所削除
$ vi ~/.zshrc

ローカルのMacにGoをインストール

Go公式のLinuxのインストール方法と同じやり方で行います。
ローカルにGoをインストール(go1.22.3の場合)

intel Mac

wget https://go.dev/dl/go1.22.3.darwin-amd64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.22.3.darwin-amd64.tar.gz

M1, M2 Mac

wget https://go.dev/dl/go1.22.3.darwin-arm64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.22.3.darwin-arm64.tar.gz

Linux

wget https://go.dev/dl/go1.22.3.linux-amd64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.22.3.linux-amd64.tar.gz

.zshenvor.bashrcor.profileにPATHを追記する。

vi ~/.zshenv

追記内容

# GOROOT, GOPATHはgoコマンド内部でしか使用しないので設定不要
# go envで見るとシェルに設定しなくても、goコマンド内部で設定されていることが確認できる
export PATH=$PATH:/usr/local/go/bin
# go installを実行した際のGo製バイナリのインストール先
export PATH=$PATH:$HOME/go/bin

インストール確認

$ go version
go version go1.22.3 darwin/amd64

Goの複数バージョン管理(おまけ)

以下を参考に公式のやり方でできます。
https://go.dev/doc/manage-install

インストール後vscodeの左下のGo 1.xx.xをクリックし、Choose Go Environmentからバージョン切り替えできます。
vscode上でのGoを切り替える画像

GitHubで編集を提案

Discussion