goenv
目次
goenv
Goのバージョン管理ツール。pyenvやrbenvのようなもの
インストール
brew install goenv
zshrcに以下を追加
eval "$(goenv init -)"
brewでインストールした場合は環境変数(GOENV_ROOTやPATH)の設定は不要です
2022/11時点での問題: goenv以外でインストールしたgoはアンインストールしましょう。これはgoenvのshimsのパスがPATH環境変数の後ろに追加されるため優先度が低くなっており、別のgoバイナリがあるとそちらを見に行ってしまうため。(rbenvはPATHの前に追加されるのでこのような問題は起きない)
どうしてもアンインストールしたくない場合は、export PATH=$GOENV_ROOT/shims:$PATH
をzprofileなどの最後に設定しましょう
goのインストールとバージョン指定
rbenvとほぼ同じ
goenv install 1.19.3
goenv global 1.19.3
エラー
compile: version "goX.X.X" does not match go tool version "goY.Y.Y"
goenvでバージョンを変えると出ることがある。
まず、それぞれのバージョンが一致しているか確認する
$ go version go version go1.20.1 darwin/arm64 $ goenv version 1.20.1 (set by /Users/nullpon/.goenv/version) $ echo $GOROOT /Users/nullpon/.goenv/versions/1.20.1 $ echo $GOPATH /Users/nullpon/go/versions/1.20.1
バージョンにズレがあれば一致するように設定し直し、シェルを再起動する。またgoenv以外でgoがインストールされていると影響する可能性があるのでアンインストールした方が良い。
goenv rehash
go installしたらrehash!
$ go install github.com/golang/mock/mockgen@v1.6.0 $ goenv rehash
goenv.txt · 最終更新: 2023/09/14 16:51 by nullpon