来自Dave切尼的You don’t need to set GOROOT, really文章:
只有两种情况,您可能必须设置$GOROOT
环境。这些都在golang.org网站的installation page中描述。为了完整起见,我将在这里回顾它们
- 您是使用golang.org网站上zip或tarball二进制下载内容的Linux,FreeBSD或OS X用户。这些二进制文件的值为
/usr/local/go
,并建议您将它们解压缩到该位置。如果您选择不这样做,那么您必须将$GOROOT
设置为您选择的位置。
- 您是使用golang.org网站下载的zip二进制文件的Windows用户。这些二进制文件的
$GOROOT
值为C:\Go
。 如果您将Go放在系统的其他位置,则必须将$GOROOT
设置为您选择的位置。
(本文的其余部分是一个很好看的,如果你想了解这引起了GOROOT
混乱的历史,总结它与前GO1是由于过时的指令居多。)
所以如果你使用预置的Go二进制文件,和你想把它放在“想要”以外的地方,那么你需要GOROOT
。否则(即,如果从源代码构建Go,或者如果将二进制分发版置于默认位置),则不需要或不想设置GOROOT
(上述文章为什么不提供某些原因)。
如果您不确定,最简单的方法是将其设置为而不是设置其他任何其他GOPATH
。然后运行go env
,看看它说什么;如果这显示GOROOT
和GOPATH
合理的条目,那么你就完成了;只有设置变量才能覆盖该错误。