Go 解決國內下載 go get golang.org/x 包失敗 非原創

bigbug-gg發表於2019-07-23

我們知道從 Go 1.11 版本開始,官方支援了 go module 包依賴管理工具。
其實還新增了 GOPROXY 環境變數。如果設定了該變數,下載原始碼時將會透過這個環境變數設定的代理地址,而不再是以前的直接從程式碼庫下載。這無疑對我等無法科學上網的開發良民來說是最大的福音。
更可喜的是,goproxy.io 這個開源專案幫我們實現好了我們想要的。該專案允許開發者一鍵構建自己的 GOPROXY 代理服務。同時,也提供了公用的代理服務 https://goproxy.io,我們只需設定該環境變數即可正常下載被牆的原始碼包了:

export GOPROXY=https://goproxy.io

不過,需要依賴於 go module 功能。可透過 export GO111MODULE=on 開啟 MODULE。
如果專案不在 GOPATH 中,則無法使用 go get ...,但可以使用 go mod ... 相關命令。
也可以透過置空這個環境變數來關閉,export GOPROXY=

對於 Windows 使用者,可以在 PowerShell 中設定:

$env:GOPROXY = "https://goproxy.io"

最後,我們當然推薦使用 GOPROXY 這個環境變數的解決方式,前提是 Go version >= 1.11

本文非原創,因為依賴的問題,困擾我三天左右(現階段我就晚上搗鼓go,白天有其它工作),透過 google 在網上找到一篇帖子,也就是上面的內容,配置 GOPROXY 之後,相關依賴都下載成功。之所以把內容貼過來,是因為國內可能無法訪問該網頁… 原帖內容不止這一個方法,但那些方法國內的帖子都有出現過,只有上文解決方法,我尚未遇到發現,原文地址:一鍵解決 go get golang.org/x 包失敗

go env -w GOPROXY=https://goproxy.cn,https://gocenter.io,https://goproxy.io,direct
本作品採用《CC 協議》,轉載必須註明作者和本文連結
現在做的任何事,都是未來的基石,請相信自己的能力。

相關文章