LoginSignup
1
0

More than 1 year has passed since last update.

compile: version "go *.**" does not match go tool version "go *.**"エラーの解決

Last updated at Posted at 2022-03-19

compile: version "go *." does not match go tool version "go *."エラー

goの環境構築していてhello worldさせるために、
はりきってgo run hello.goをしたら上記のエラーがでた。

エラー内容

# unicode/utf8
compile: version "go1.16.2" does not match go tool version "go1.17.8"
# runtime/internal/sys
compile: version "go1.16.2" does not match go tool version "go1.17.8"
# internal/unsafeheader
compile: version "go1.16.2" does not match go tool version "go1.17.8"
# internal/race
compile: version "go1.16.2" does not mat

goenvを使っていてgoenv global 1.17.8の指定なのにgo toolでは1.17.8が使用されている?

そういえば環境構築時にbrewインストールしたバージョンとは違うバージョンをgoenv globalで指定していた記憶があったような。

一旦goenvの確認

$ go env | grep GOVERSION
GOVERSION="go1.17.8"

brewでgoをアンインストールする

$ brew uninstall go
Uninstalling /usr/local/Cellar/go/1.17.8... (10,831 files, 566MB)

これで1.17.8とはさよなら。もう一回確認。

$ go env | grep GOVERSION
GOVERSION="go1.16.3"

go1.16.2になってほしいのに今度はなぜかgo1.16.3が設定された。
いっそのことGo関係すべてを削除する。

$ sudo rm -rf /usr/local/go
$ sudo rm -rf /etc/paths.d/go
$ rm -rf ~/go
$ rm -rf ~/.goenv

※他のところを削除しないように注意して実行してね。

Go再インストール

$ brew install go
$ which go
/usr/local/bin/go

PATHは以下のように設定

~/.zshrc
export PATH=$PATH:/usr/local/go/bin

.zshrc再読み込み

$ source ~/.zshrc

仕切り直してgo run hello.goする。

一発でうまくいかなかったのでPC再起動したらできました。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0