每次用go裝個東西,大多都會碰到golang.org/xxx下載依賴的問題,現在提供一種自己用着還不錯的解決方案,那就是使用GOPROXY和go module。我使用的go版本是go1.12。
go代理有很多,讀者可以搜一下國內goproxy,哪個好用用哪個,我用的是https://goproxy.io,這個。
1、linux下使用goproxy
在linux下,編輯/etc/profile,在最後加上
export GOPROXY=https://goproxy.io,direct
wq保存退出,然後執行source /etc/profile
更新一下。
然後當你需要go get少量的依賴的時候,在每個go get前邊加個東西,如下:
GO111MODULE=on go get github.com/xx/x/x/
最後那個就是你要get的依賴。
同理,如果你需要使用go mod下載大量依賴的時候,需要手動把全局的GO111MODULE打開,即用export的方式:
export GO111MODULE=on
然後你可以執行go env
查看你設置的GO111MODULE和GOPROXY是否都設置成功。
在然後你就可以開心的使用go mod download命令下載了。下載完之後可以在把GO111MODULE置空,即:
export GO111MODULE=
2、 windows下使用GOPROXY
採用修改環境變量的方式,在我的電腦右擊-屬性-高級系統設置-環境變量裏添加GOPROXY。
然後手動將GO111MODULE設置爲on,命令行:
set GO111MODULE=on
然後就可以開心的go mod download了。
單行的我還沒測試,不過猜測應該是
set GO111MODULE=on go get xxx/xxx/
的樣子吧??