golang导入git包_go如何下载golang.org的包

如何下载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/src目录下面创建一个google.golang.org的目录。

在github上找到对应的grpc的包,https://github.com/grpc/grpc-go

其实google.golang.org对应的就是https://github.com/grpc/grpc-go

然后我们进入到$GOPATH/src/google.golang.org这个目录。执行git命令git clone --depth=1 https://github.com/grpc/grpc-go.git grpc

命令解析:

其中--depth=1 这个参数的意思是只克隆最新的commit分支。不加也行。

最后的grpc表示的是将克隆的文件存放到那个文件夹里面。

执行完上面的命令,我们就成功的将grpc的包下载到本地了。go get google.golang.org/grpc

golang当中go get其实执行了两个操作,一个是git clone 另外一个go install。所以我们还要进入到$GOPATH/src/google.golang.org/grpc当中执行以下go install 。这个命令会在$GOPATH/pkg/google.golang.org/grpc下面生成一个grpc.a的外部包文件。用于和其他程序访问和编译。并且在go install的过程当中我们可以检查哪些相关依赖的包没有安装,可以使用相同的办法进行安装。

注意

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

作者:ppmoon

链接:https://www.jianshu.com/p/096c5c253f75

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值