当没有定义 $GOPATH 时,如何找到使用“go get -u”安装的 Go 包?

Kur*_*eek 4 go gopath

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

go get -u google.golang.org/grpc
Run Code Online (Sandbox Code Playgroud)

我实际上还没有定义GOPATH环境变量:

> echo $GOPATH
Run Code Online (Sandbox Code Playgroud)

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

在下一步中,我想通过执行以下操作来构建示例

cd $GOPATH/src/google.golang.org/grpc/examples/helloworld
Run Code Online (Sandbox Code Playgroud)

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

~/g/src> ls *google*
fish: No matches for wildcard '*google*'. See `help expand`.
ls *google*
   ^
Run Code Online (Sandbox Code Playgroud)

包裹不应该放在这里吗?这就是我从哪里得到安装包的理解.

Eve*_*ton 5

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

~/go/pkg/mod/cache/download
Run Code Online (Sandbox Code Playgroud)

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

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

git clone https://github.com/grpc/grpc-go
Run Code Online (Sandbox Code Playgroud)