《Go get 代理配置》
有时候 go get 需要去境外站点(如 golang.org、github.com)拉取代码,由于网络限制无法直接访问,此时需要针对源码管理工具(git / svn / Mercurial)做不同的代理配置。
1. 通过 HTTP 代理拉取
先开启本地代理工具(如 Clash / Lantern),查看其监听端口,例如 127.0.0.1:7890,然后在执行 go get 时注入代理:
# HTTP
http_proxy=http://127.0.0.1:7890 go get code.google.com/p/go.crypto/bcrypt
# HTTPS
https_proxy=http://127.0.0.1:7890 go get -u github.com/sirupsen/logrus
https_proxy=http://127.0.0.1:7890 go get -u golang.org/x/time/rate
https_proxy=http://127.0.0.1:7890 go get -u golang.org/x/net/http2
2. 或直接从 GitHub 下载对应仓库
假如要安装 golang.org/x/time/rate,可在 GitHub 的 golang 组织下找到对应仓库 github.com/golang/time:
mkdir -p $GOPATH/src/golang.org/x/
cd $GOPATH/src/golang.org/x/
git clone https://github.com/golang/time.git time
go install time
又如 golang.org/x/net/context → 对应仓库 github.com/golang/net:
mkdir -p $GOPATH/src/golang.org/x/
cd $GOPATH/src/golang.org/x/
git clone https://github.com/golang/net.git net
go install net
3. 参考文档
- https://stackoverflow.com/questions/10383299/how-do-i-configure-go-to-use-a-proxy
- https://github.com/golang/go/wiki/GoGetProxyConfig
阅读 —
·
全站 —