这不是这个问题的重复:

what should be the values of GOPATH and GOROOT?

我不想知道应该是什么值。我想知道在控制台中键入ls $GOROOTls $GOPATH时应该看到什么。我敢肯定,在将近一年前的教程中,我把事情弄错了,并且我希望能够通过简单地检查一下它们指向的内容是否正确来确认这两个指向了应该在的位置。

这就是我现在的位置。看来$GOROOT没有指向任何地方。我敢肯定,它应该指向usr/local/go,但是如果我知道ls $GOROOT的预期结果应该是什么,将容易得多。

至于$GOPATH,我不太确定我的“工作区”是我所有执行代码的位置,还是github的东西,或者我正在其中的特定文件夹。我知道它应该指向我的“工作空间”,但是我不知道我要寻找的工作空间是什么样。

Sephs-MBP:ThumbzArt seph$ $GOROOT
Sephs-MBP:ThumbzArt seph$ $GOPATH
-bash: /Users/seph/code/golang: is a directory
Sephs-MBP:ThumbzArt seph$ ls $GOROOT
Bman.jpg            README.md           ThumbzArt.sublime-workspacescripts              thumbzart.go
LICENSE.md          ThumbzArt.sublime-project   public              templates           ticktock.go
Sephs-MBP:ThumbzArt seph$ $GOPATH
-bash: /Users/seph/code/golang: is a directory
Sephs-MBP:ThumbzArt seph$ ls $GOPATH
-   bin p   pkg src
Sephs-MBP:ThumbzArt seph$ ls /usr/local/go
AUTHORS     CONTRIBUTORS    PATENTS     VERSION     bin     doc     lib     pkg     src
CONTRIBUTING.md LICENSE     README.md   api     blog        favicon.ico misc        robots.txt  test
Sephs-MBP:ThumbzArt seph$

我知道这个问题似乎很荒谬,但是很难确认您没有预期结果的事情。

谢谢
Sephs-MBP:streak seph$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/seph/code/golang"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT=""
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"

Sephs-MBP:streak seph$ go version
go version go1.5.2 darwin/amd64

Sephs-MBP:streak seph$ which go
/usr/local/go/bin/go

最佳答案

编辑:我刚刚偶然发现的另一个非常有用的功能是:go help gopath。这可能应该是某些人的答案。

文件夹$GOPATH指向应如下所示:

Sephs-MBP:streak seph$ ls $GOPATH
-   bin p   pkg src

另一方面,如果使用$GOROOT而不是ls $GOROOTls $GOPATH会产生意外结果。我认为这是因为在此上下文中未设置$GOROOT
Sephs-MBP:helloworld seph$ ls $GOROOT
helloworld.go

如果您使用go env,您将看到$GOROOT的真实本质
Sephs-MBP:streak seph$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/seph/code/golang"
GORACE=""
GOROOT="/usr/local/go"            //this is where it actually points
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT=""
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-    arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"

而且,如果您从$GOROOT获得go env的结果并执行ls,则应该看到类似以下内容:
Sephs-MBP:streak seph$ ls /usr/local/go
AUTHORS     CONTRIBUTORS    PATENTS     VERSION     bin     doc         lib     pkg     src
CONTRIBUTING.md LICENSE     README.md   api     blog        favicon.ico misc        robots.txt  test

如果所有这些内容都已签出,则说明您的$GOPATH$GOROOT已正确设置。

09-04 10:00