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

时间:2015-06-27 23:52:11

标签: go build

我将the Go distribution解压缩到d:\dev\go,将d:\dev\go\bin添加到我的路径,创建了一个文件d:\projects\hello\hello.go并将GOPATH设置为d:\projects\hello。正在运行go build hello.go告诉我:

go: cannot find GOROOT directory: c:\go

现在several different places强烈要求设置GOROOT,设置GOPATH应该是所需的一切。

我是否应该反对这项建议,或者我有什么遗漏?

4 个答案:

答案 0 :(得分:5)

来自Dave Cheney的You don’t need to set GOROOT, really文章:

  

只有两种情况可能需要设置 application_controller.rb concerns 环境。这些都在golang.org网站上的installation page中描述。为了完整起见,我将在这里回顾一下

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

(如果您想了解导致$GOROOT混淆的历史,那么本文的其余部分是一个很好的阅读,摘要是由于过时的指令主要来自Go1之前。)

因此,如果您使用预先构建的Go二进制文件,您希望将其放在“想要”之外的其他位置,那么您需要GOROOT。否则(即,如果您从源代码构建Go,或者如果您将二进制分发版放在默认位置),则不需要或不想设置GOROOT(上面的文章给出了一些原因,不这样做)。

如果您不确定,最简单的方法就是首先设置其他GOROOT。然后运行GOPATH并查看它的内容;如果它显示go envGOROOT的合理条目,那么您就完成了;只设置变量以覆盖它,如果它是错误的。

答案 1 :(得分:0)

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

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

 GOROOT = C:\go

答案 2 :(得分:-1)

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

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

那个包含src,bin,doc,lib等的目录......

答案 3 :(得分:-1)

可能是缓存问题。

对我来说,我重新打开了MinGW(我安装了pacys的msys2),它有效。