goenvを卒業してgo.dev標準のバージョン管理方法に移行した

これまでGoのバージョン管理にgoenvを利用していましたが、vscodeの設定がうまくいかないなどの問題が生じたため、go.devで提供されている方法に切り替えました。

前準備

goenvのアンインストール

anyenv uninstall goenv

削除に抵抗がある場合は念のためバックアップしておくと良いと思います。

公式から最新のGoパッケージをダウンロード→インストール

go.devのWebページを参考にGoのダウンロードとインストールを行います。

PATHの設定

必要に応じてGOROOTとGOPATHをPATHに通します。

  • GOROOT: Go本体へのパス
  • GOPATH: go installで導入したパッケージへのパス
# 例
export PATH="$PATH:$(go env GOPATH)/bin"

バージョン管理方法

$ go install golang.org/dl/go1.21.6@latest
$ go1.21.6 download

インストール場所はwhich コマンドかGOROOTで確認しますが、バージョンを指定しない場合は最新のGoの結果が返ってくるので、下記のようにバージョンを指定します。

$ go1.21.6 env GOROOT

あとはエディターやツール側でどのバージョンのGoを使うかを指定すればOKです。

vscodeの場合は左下にGoのバージョンをクリック→Choose Go Environmentを選択するとGoのバージョンを指定できます。

まとめ

vscodeの設定も問題なく、スムーズに移行できました。