在没有定义 $GOPATH 的情况下,如何找到安装了 'go get -u' 的 Go 包?

How to find a Go package installed with 'go get -u' when no $GOPATH is defined?

我正在学习 Go 的 gRPC 快速入门教程,https://grpc.io/docs/quickstart/go/,并使用命令安装了 gRPC

go get -u google.golang.org/grpc

其实我还没有定义一个GOPATH环境变量:

> echo $GOPATH

据我了解,这意味着它默认为 ~/go,或者在我的情况下为 /Users/kurt/go

在下一步中,我想通过以下方式构建示例

cd $GOPATH/src/google.golang.org/grpc/examples/helloworld

但是,我发现该目录不存在,/Users/kurt/go/src中也没有google.golang.org目录:

~/g/src> ls *google*
fish: No matches for wildcard '*google*'. See `help expand`.
ls *google*
   ^

包裹不应该放在这里吗?这是我从 .

中了解到的

在您的示例输出中,您在 ~/g/arc

默认路径为 ~/go/src

我认为自动完成位是你

最后,我通过克隆似乎包含我正在寻找的 examples/helloworld 目录的 https://github.com/grpc/grpc-go 解决了这个问题。仍然很想知道用 go get 下载的包在哪里。

使用 Go Modules,您可以在以下位置找到 'go get' 个下载的文件:

~/go/pkg/mod/cache/download

但是,它应该被视为源代码的不可变副本。

如果您想要源代码的可变副本,您应该克隆存储库:

git clone https://github.com/grpc/grpc-go