go:找不到GOROOT目录:c:go



我将Go分发解压到d:devgo中,将d:devgobin添加到我的路径中,创建一个文件d:projectshellohello.go,并将GOPATH设置为d:projectshello。运行go build hello.go告诉我:

go: cannot find GOROOT directory: c:go

现在,几个不同的地方强烈敦促我而不是设置GOROOT,设置GOPATH应该是所需要的一切。

我应该反对这个建议吗?还是我遗漏了什么?

来自Dave Cheney的《你不需要设置GOROOT,真正的文章:》

只有两种情况可能需要设置$GOROOT环境。golang.org网站上的安装页面中对这两个方面进行了描述。为了完整起见,我将在这里重述

  • 您是Linux、FreeBSD或OSX用户,使用golang.org网站上的zip或tarball二进制下载。这些二进制文件的$GOROOT值为/usr/local/go,建议您将它们解压缩到该位置。如果选择不执行此操作,则必须将$GOROOT设置为您选择的位置
  • 您是Windows用户,使用golang.org网站上的zip二进制下载。这些二进制文件的$GOROOT值为C:Go如果将Go放置在系统的其他位置,则必须将$GOROOT设置为您选择的位置

(如果你想了解导致GOROOT混乱的历史,这篇文章的其余部分是一本不错的读物,总结一下是由于过时的说明,主要来自Go1之前。)

因此,如果你使用预先构建的Go二进制文件,,你想把它放在其他地方,而不是";想要";,那么您需要GOROOT。否则(即,如果您从源代码构建Go,或者将二进制分发放在默认位置),您就不需要或不想设置GOROOT(上面的文章给出了一些不需要的原因)。

如果你不确定,最简单的方法是";正确的";是首先而不是设置任何其他GOPATH。然后运行go env,看看它说了什么;如果这显示了GOROOTGOPATH的合理条目,那么您就完成了;如果错误,只设置变量来覆盖它。

我在编译时遇到了这个错误,在获得编译器版本时,我通过删除系统变量GOROOT并重新分配它来解决问题;变成c:\Go=)

我将GOROOT设置为指向该目录的内容:

AUTHORS      PATENTS      api          favicon.ico  misc         src
CONTRIBUTORS README       bin          include      pkg          test
LICENSE      VERSION      doc          lib          robots.txt

这是包含src、bin、doc、lib等的目录。

一旦安装了Go lang,GOROOT就是安装的根目录。

当我在Windows C:\目录中分解Go Lang二进制文件时,我的GOROOT应该是C:\Go。如果与Windows安装程序一起安装,它可能是C:\Program Files\go(或C:\Program Files(x86)\go,用于64位软件包)

 GOROOT = C:go

可能是缓存问题。

对我来说,我重新打开了MinGW(我通过pacman在msys2中安装了go),它起到了作用。

相关内容

  • 没有找到相关文章

最新更新