这不是这个问题的重复:
what should be the values of GOPATH and GOROOT?
我不想知道应该是什么值。我想知道在控制台中键入ls $GOROOT
或ls $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 $GOROOT
,ls $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
已正确设置。