趣味でGoを書く機会が増えてきたので、そろそろ anyenv
的な方法でGoのバージョンを管理するか…と重い腰を上げました。Go言語のバージョンマネージャで広く使われているものは、 pyenv
や rbenv
などの流れをくむ goenv
と nvm
などの流れをくむ gvm
があります。なお、自分の使っているOSはmacOS Sonomaです。
どちらもGitHubにリポジトリが存在しているので最近のメンテナンスの状況を見つつ、今回は goenv
を用います。
まずはグローバルにインストールされているGoはもう不要になるので、アンインストールしておきます。
% go version
go version go1.23.1 darwin/arm64
% brew uninstall go
Uninstalling /opt/homebrew/Cellar/go/1.23.1... (13,231 files, 268.2MB)
% go version
zsh: command not found: go
Homebrewで goenv
をインストールします。
% brew install goenv
INSTALL.mdを参考にしつつ、自分はzshを使っているので ~/.zshrc
に以下を書き込み、最後に source ~/.zshrc
を実行します。
export GOENV_ROOT=$HOME/.goenv
export PATH=$GOENV_ROOT/bin:$PATH
eval "$(goenv init -)"
元々使っていた Go 1.23.1
を使いたいので、このバージョンをインストールします。
% goenv install 1.23.1
goenv local
で該当バージョンを指定します。
% goenv local 1.23.1
% go version
go version go1.23.1 darwin/arm64
OK。