GO:{GOOS}和{GOARCH}在环境

时间:2015-06-29 14:51:34

标签: command-line go

我想将我的指针更改为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"

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

1 个答案:

答案 0 :(得分:3)

$GOOS$GOARCH只有在你导出它们时才会在你的shell中定义(除非你进行交叉编译,否则不太可能)。

运行go env时,默认值会在您的环境未被覆盖时显示。您应该将命令更改为以下内容以获得所需的结果:

cd $(go env GOPATH)/pkg/$(go env GOOS)_$(go env GOARCH)