1.4 Go語言從入門到精通:Go代理goproxy


作者:xcbeyond
瘋狂源自夢想,技術(shù)成就輝煌!微信公眾號:《程序猿技術(shù)大咖》號主,專注后端開發(fā)多年,擁有豐富的研發(fā)經(jīng)驗,樂于技術(shù)輸出、分享,現(xiàn)階段從事微服務(wù)架構(gòu)項目的研發(fā)工作,涉及架構(gòu)設(shè)計、技術(shù)選型、業(yè)務(wù)研發(fā)等工作。對于Java、微服務(wù)、數(shù)據(jù)庫、Docker有深入了解,并有大量的調(diào)優(yōu)經(jīng)驗。 









在逐步編寫Go程序時,會涉及使用到第三方提供的Go依賴包,如:github.com/spf13/cobra,在國內(nèi)使用 go get 命令安裝時經(jīng)常會出現(xiàn) timeout 等問題,實在讓人頭疼。大家都知道,在國內(nèi)網(wǎng)絡(luò)環(huán)境下,想要解決這種問題,只有掌握xx上網(wǎng)才能徹底解決。但是xx上網(wǎng)卻是需要花費額外成本的,那該怎么辦呢?

本文將會介紹一種Go代理 goproxy 的方式來解決上述問題,讓你既不花錢,又能快速下載安裝。
1、goproxy.cn 介紹

Go的1.11版本以后可以設(shè)置環(huán)境變量 GOPROXY,來設(shè)置代理,以加速下載。目前國內(nèi)使用最多的是 goproxy.cn,號稱中國最可靠的Go模塊代理。

它有以下特點:

    極速下載: 我們正在使用七牛云 CDN 在全球范圍內(nèi)加速我們的服務(wù),并且我們沒有設(shè)置任何帶寬限制。憑借著數(shù)以千計的 CDN 節(jié)點和 40Gbps+ 的單節(jié)點帶寬,你將被賦予一個以極快的速度下載模塊版本的能力。

    沒有限制: 我們不但沒有設(shè)置帶寬限制。更進一步地,我們還沒有設(shè)置任何速率限制。這意味著你可以在任何場景下使用我們的服務(wù),例如 CI/CD。你甚至可以像 goproxy.baidu.com 一樣將我們的服務(wù)用作上游代理。

    功能齊全: 我們一直在使用最新的 Go 版本,甚至是不穩(wěn)定版本。因為我們提供了最前沿的功能支持。特別地,我們支持代理默認的校驗和數(shù)據(jù)庫 sum.golang.org。你不需要做任何額外的事情,它就可以工作。

    數(shù)據(jù)可視: 為了使大家可以更好地了解我們的服務(wù)中所有模塊的活躍度,我們推出了 Go 模塊代理世界中的首個統(tǒng)計數(shù)據(jù) API。通過得體的 RESTful API 設(shè)計,你將能夠輕松地查詢我們服務(wù)中所有模塊版本的統(tǒng)計數(shù)據(jù)。

2、goproxy.cn 配置

推薦在Go 1.13 以上版本使用。

打開你的終端執(zhí)行下面命令:

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct

   
macOS 或 Linux:

$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn


或者

$ echo "export GO111MODULE=on" >> ~/.profile
$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
$ source ~/.profile

    

Windows:

打開 cmd 命令行,執(zhí)行:

C:\> $env:GO111MODULE = "on"
C:\> $env:GOPROXY = "https://goproxy.cn"


或者

1. 打開“開始”并搜索“env”
2. 選擇“編輯系統(tǒng)環(huán)境變量”
3. 點擊“環(huán)境變量…”按鈕
4. 在“<你的用戶名> 的用戶變量”章節(jié)下(上半部分)
5. 點擊“新建…”按鈕
6. 選擇“變量名”輸入框并輸入“GO111MODULE”
7. 選擇“變量值”輸入框并輸入“on”
8. 點擊“確定”按鈕
9. 點擊“新建…”按鈕
10. 選擇“變量名”輸入框并輸入“GOPROXY”
11. 選擇“變量值”輸入框并輸入“https://goproxy.cn”
12. 點擊“確定”按鈕

    

3、小結(jié)

有上述goproxy 代理的設(shè)置,go get 命令下載將會變得很快,輕松解決了timeout問題。此外,也可以通過國外goproxy.io 代理完成加速,配置方法和 goproxy.cn 完全一樣。

參考文章:

    https://goproxy.cn/
    https://www.goproxy.io/zh/