0%

升级到go1.17后Goland提示找不到GOROOT

在将电脑上的golang版本从 1.15.6 升级到最新的 1.17.4 之后,发现 Goland 打开项目后文件中各种 爆红。同时提示 找不到GOROOT

20211206115746

当时的第一想法是,会不会由于升级后某些配置更新了,于是第一时间重启电脑,结果发现并没有什么效果,依然是上面的错误提示。

我当前使用的 Goland 版本是:

1
2
GoLand 2020.1.3
Build #GO-201.7846.93, built on June 4, 2020

也怀疑是因为使用的 Goland 版本太低了,但还不至于说升级了 Golang 的版本后, Goland 就不能使用的程度。


最后只得上网搜索,终于找到解决方法。

第一步,执行 go env 找到当前 GOROOT 的目录:

1
2
3
➜ go env

GOROOT="/usr/local/go"

第二步,定位到该目录下的 src/runtime/internal/sys 目录中的 zversion.go 文件,即:

1
2
➜ sudo vim /usr/local/go/src/runtime/internal/sys/zversion.go
Password:

第三步,在该文件末尾添加一行 const theVersion = `go1.17`

最终效果:

1
2
3
4
// Code generated by go tool dist; DO NOT EDIT.
package sys
const StackGuardMultiplierDefault = 1
const theVersion = `go1.17`

20211206120016

第四步,重启 Goland 。然后找到 Preferences -- Go -- GOROOT 项,此时下拉项中就出现了 Go1.17 的选项,选中并应用即可。

20211206120038


相关参考

如有疑问或需要技术讨论,请留言或发邮件到 service@itfanr.cc