《Go get 代理配置》

《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
阅读 — · 全站 —
🎸 我的歌单 0 首