我想将目录更改为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上使用终端。我想念什么? 最佳答案
如果已将$GOOS
和$GOARCH
导出,则仅在您的外壳中定义它们(除非您进行交叉编译,否则不太可能)。
当您运行go env
时,如果您的环境没有覆盖默认值,则会显示这些默认值。您应该将命令更改为以下命令以获得所需的结果:
cd $(go env GOPATH)/pkg/$(go env GOOS)_$(go env GOARCH)