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

当时的第一想法是,会不会由于升级后某些配置更新了,于是第一时间重启电脑,结果发现并没有什么效果,依然是上面的错误提示。
我当前使用的 Goland 版本是:
1 | GoLand 2020.1.3 |
也怀疑是因为使用的 Goland 版本太低了,但还不至于说升级了 Golang 的版本后, Goland 就不能使用的程度。
最后只得上网搜索,终于找到解决方法。
第一步,执行 go env 找到当前 GOROOT 的目录:
1 | ➜ go env |
第二步,定位到该目录下的 src/runtime/internal/sys 目录中的 zversion.go 文件,即:
1 | ➜ sudo vim /usr/local/go/src/runtime/internal/sys/zversion.go |
第三步,在该文件末尾添加一行 const theVersion = `go1.17`:
最终效果:
1 | // Code generated by go tool dist; DO NOT EDIT. |

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

相关参考