compile: version "gox.xx.x" does not match go tool version "gox.xx.x"

2023/03/07に公開

状況

コンパイル時になぜかGoのバージョンがマッチしないエラーが出るようになった。

# internal/goarch
compile: version "go1.19.2" does not match go tool version "go1.20.1"
# internal/race
compile: version "go1.19.2" does not match go tool version "go1.20.1"
# internal/unsafeheader
compile: version "go1.19.2" does not match go tool version "go1.20.1"
...

goenv

goenvの設定を改めて試してみるもうまくいかない。

$ goenv local 1.19.2

$ go version
## go version go1.20.1 darwin/arm64

go env コマンド

Goで使用する環境変数を表示するには go envコマンドを使用する。

$ go env

...
GOVERSION="go1.20.1"

brew の確認

goenv 以外で Goのインストールがあるとすれば brew かもしれない。

$ brew list --versions go

## go1.20.1

brew update

別のパッケージをアップデートした際に、その依存関係に含まれているGoが一緒にインストールされたようだった。

アンインストール

brew uninstall go

することでエラーは消えた。

Discussion