GO:在环境中无法识别 {GOOS} 和 {GOARCH}

我想将我的目录更改为,go/pkg/darwin_amd64但$ cd $GOPATH/pkg/${GOOS}_${GOARCH}虽然目录存在但没有找到该文件夹。


$ echo $GOPATH/pkg/${GOOS}_${GOARCH}给/go/pkg/_而不是/go/pkg/darwin_amd64.


$ go env 印刷:


GOARCH="amd64"

GOBIN=""

GOCHAR="6"

GOEXE=""

GOHOSTARCH="amd64"

GOHOSTOS="darwin"

GOOS="darwin"

GOPATH="/Users/sahilkapoor/go"

GORACE=""

GOROOT="/usr/local/go"

GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"

CC="clang"

GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"

CXX="clang++"

CGO_ENABLED="1"

我们可以看到GOOS并GOARCH在此处定义。我在 Mac OSX 10.10.3 上使用终端。我错过了什么?


幕布斯7119047
浏览 588回答 1
1回答

繁华开满天机

$GOOS并且$GOARCH只有在您导出它们时才会在您的 shell 中定义(除非您进行交叉编译,否则不太可能)。当您运行时go env,默认值会在它们未被您的环境覆盖时显示。您应该将命令更改为以下内容以获得所需的结果:cd $(go env GOPATH)/pkg/$(go env GOOS)_$(go env GOARCH)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go