今天在执行 go get 的时候报了如下错误: ``` compile: version "go1.9.4" does not match go tool version "go1.11.4" ``` 打开goland->Preferences->Go->GOROOT 在右侧选择的时候出现了两个版本的GO,并且显示了各自的安装目录。 解决思路: 1、执行 go env .主要看一下goroot指向的目录 2、打开goroot/version文件看一下版本。我的是1.9.4 ![](media/15476177786496/15483124082184.jpg) 2、执行 go version 显示版本是1.11.4 3、执行brew info go,看到了1.11.4安装路径 ![image.png](https://static.studygolang.com/190124/6693d3f13adf0a398d6118c1af16a127.png) 这时想起来,前两天在使用glide管理依赖包的时候使用homebrew安装,glide依赖GO,所以同时安装了go 的最新版本,即1.11.4版本。接下来把用brew安装的go卸载掉就行了。 4、brew uninstall go 第一次执行提示被glide依赖,需要强制卸载,这里可以按提示强制卸载,也可以先把glide卸载再卸载go1.11.4 ![image.png](https://static.studygolang.com/190124/d13cce5d014c74e9181bcc929a006ed2.png) 5、卸载成功后,看一眼go version 是1.9.4了。go get也没有问题了。 ![image.png](https://static.studygolang.com/190124/d3b029c7ca7de1d6d5e5426704ac5a25.png) 虽然问题解决了,但还是有一个疑问,就是环境变量中goroot设置的是1.9.4版本的go路径 ,但是go version却显示是1.11.4 。网上查了一下说是因为homebrew安装后将go变量指向了新的路径 ,但是在哪设置的一直没找到。不然改一下这个路径也应该可以解决问题。 有知道的小伙伴请留言