go get下载第三方包的时候大多数情况要从github上面pull,有的时候还要从golang.org
之类的地方下载源码. 由于众所周知的原因git clone速度极慢,golang.org根本不能访问,所以golang下载第三方包的时候总是极其麻烦. 最近写了个程序解决这个问题.
讲一下大概的思路.
我发现git clone和github上面的download zip是从不同的地方下载的,而download zip比git clone快很多,所以可以写个程序自动download zip,解压到安装第三方包的文件夹下,再编译.
至于golang.org
,它在github.com/golang
上面有镜像,至于其它一些网站也多半在github上面有镜像,程序里面获取下载链接的时候额外处理一下就可以了.
大概用法:把go get换成gogetpkg -p就行,如果第三方包的代码已经下载下来并放到正确位置,只需要安装的话,可以加上-nd,这样就会不下载直接安装.
举几个栗子:
1 | gogetpkg -p github.com/jwhj/gogetpkg |
你会发现它并不能处理依赖,你需要手动处理……