CSDN上已經有btqszl的blog記錄這個問題,StackOverflow也有相應的解釋:https://stackoverflow.com/questions/46693653/compile-version-go1-9-does-not-match-go-tool-version-go1-9-1
- 問題核心:$GOROOT 對應的版本號與 go 命令對應的版本號不同
在GoLand裏,是1.9.2。
$ echo $GOROOT
/usr/local/Cellar/go/1.9.2/libexec
而在iTerm2裏,因爲我沒有設,所以是空的。
$ echo $GOROOT
GoLand里根據StackOverflow的說法是 homebrew 設的,雖然我並沒有找到 homebrew 在哪裏設的。
我採用的解決方案:設置正確的 $GOROOT。