gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 03:42:51 24 4
gpt4 key购买 nike

这不是这个问题的重复:

what should be the values of GOPATH and GOROOT?

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

这就是我现在的位置。看起来 $GOROOT 没有指向任何地方。我很确定它应该指向 usr/local/go,但是如果我知道 ls $GOROOT 的预期结果会更容易确认应该是。

至于 $GOPATH 我不完全确定我的“工作区”是我所有 go 代码所在的地方,还是只是 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
另一方面,

$GOROOTls $GOPATH 相比,如果您使用 ls $GOROOT 会产生意想不到的结果。我认为这是因为 $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"

如果你从 go env 得到 $GOROOT 的结果并执行 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 就设置正确了。

关于go - 如何确认 $GOPATH 和 $GOROOT 设置正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35921255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com