如何下载golang.org的包?

由于墙的原因,golang.org这个域名下的资源是无法访问的。我们无法下载golang.org上面的包,好在golang的包都管理在github所以我们可以访问github来下载golang.org的包。

解决方案

下载github上的包并替换到golang.org的目录里。


GOPATH


GOPATH的目录是这样的。我们通过go get下载的包会


GOPATH


其中google.golang.org和golang.org在国内是无法直接使用go get获取的。所以我们使用github的替代方案。

以下载grpc为例

grpc官方提供的下载命令是:

go get google.golang.org/grpc
$GOPATH/srcgoogle.golang.org$GOPATH/src/google.golang.org
git clone --depth=1 https://github.com/grpc/grpc-go.git grpc

命令解析:
其中--depth=1 这个参数的意思是只克隆最新的commit分支。不加也行。
最后的grpc表示的是将克隆的文件存放到那个文件夹里面。
执行完上面的命令,我们就成功的将grpc的包下载到本地了。

go get google.golang.org/grpc
$GOPATH/src/google.golang.org/grpcgo install$GOPATH/pkg/google.golang.org/grpcgo install
注意

为什么不能直接git clone到src目录里使用?其实这样也没问题的。但是会引来一个麻烦,就是go的import引入包是通过src下面的路径来引入的。引用第三方的包的时候可能还是会使用到golang.org目录下的包,这个时候你可能需要修改代码或者去迁移还是很麻烦。所以才有以上git clone 然后替换目录的办法。