为了账号安全,请及时绑定邮箱和手机立即绑定

如何确认 $GOPATH 和 $GOROOT 设置正确?

如何确认 $GOPATH 和 $GOROOT 设置正确?

Go
潇湘沐 2021-12-20 16:37:13
我不想知道这些值应该是什么。我想知道当我输入ls $GOROOT或ls $GOPATH进入控制台时我应该看到什么。我很确定我在大约一年前的教程之后设置错误,我希望能够通过简单地检查它们指向的内容是否正确来确认这两个指向它们应该在哪里。这就是我现在所在的地方。它看起来$GOROOT无所适从。我很确定它应该指向usr/local/go,但是如果我知道预期的结果ls $GOROOT应该是什么,确认起来会容易得多。至于$GOPATH我不完全确定我的“工作区”是否是我所有 go 代码所在的地方,或者只是 github 的东西,或者我正在工作的特定文件夹。我知道它应该指向我的“工作空间”,但我不知道我正在寻找的工作空间是什么样的。Sephs-MBP:ThumbzArt seph$ $GOROOTSephs-MBP:ThumbzArt seph$ $GOPATH-bash: /Users/seph/code/golang: is a directorySephs-MBP:ThumbzArt seph$ ls $GOROOTBman.jpg            README.md           ThumbzArt.sublime-workspacescripts              thumbzart.goLICENSE.md          ThumbzArt.sublime-project   public              templates           ticktock.goSephs-MBP:ThumbzArt seph$ $GOPATH-bash: /Users/seph/code/golang: is a directorySephs-MBP:ThumbzArt seph$ ls $GOPATH-   bin p   pkg srcSephs-MBP:ThumbzArt seph$ ls /usr/local/goAUTHORS     CONTRIBUTORS    PATENTS     VERSION     bin     doc     lib     pkg     srcCONTRIBUTING.md LICENSE     README.md   api     blog        favicon.ico misc        robots.txt  testSephs-MBP:ThumbzArt seph$ 我知道这个问题看起来很荒谬,但是很难确认您没有预期结果的事情。谢谢Sephs-MBP:streak seph$ go envGOARCH="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 versiongo version go1.5.2 darwin/amd64Sephs-MBP:streak seph$ which go/usr/local/go/bin/go
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超13个赞

另一个非常有用的功能,我只是偶然发现是这样的: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"

如果你得到$GOROOTfromgo env和 dols你应该看到这样的结果:


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已正确设置。


查看完整回答
反对 回复 2021-12-20
  • 1 回答
  • 0 关注
  • 269 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号