Golang 依賴包下載時候代理設定
阿新 • • 發佈:2019-01-24
說明
我們在使用 Go 下載依賴時候經常遇到網路環境的問題,如:golang.org
站點必須要翻牆才可以進行下載;而單單設定系統層面的 http_proxy
有時也不能完全解決問題,所以我記錄了我嘗試過的解決方案 - 必須要設定兩種代理方式才行(倉庫代理與系統代理),具體參考下面的使用。
切記兩種代理必須要同時設定才可起作用;吐槽一下:這種方式好蛋疼。
倉庫代理
Git
git config [--global] http.proxy http://proxy.example.com:port
Mercurial
編輯 ~/.hgrc
檔案並加入以下內容:
[http_proxy]
host=proxy.example.com:port
SVN
編輯 ~/.subversion/servers
檔案並加入以下內容:
[Global]
http-proxy-host=proxy.example.com
http-proxy-port=xxxx
系統代理
區域性
參考下面命令,這個設定只是一次性的。
http_proxy=http://127.0.0.1:1087 go get -u -v github.com/golang/lint/golint
全域性
在 ~/.bash_profile
檔案並加入以下內容:
export http_proxy=proxy.example .com:port
錯誤資訊
- fatal: unable to access ‘https://go.googlesource.com/tools/‘: Failed to connect to go.googlesource.com port 443: Operation timed out
- unrecognized import path “golang.org/x/tools/go/buildutil” (https fetch: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)