go get下載包失敗問題

因爲某些不可抗力的緣由,國內使用go get命令安裝包時會常常會出現timeout的問題。本文介紹幾個經常使用的解決辦法。linux

從github克隆

golang在github上創建了一個鏡像庫,如https://github.com/golang/net就對應是 https://golang.org/x/net的鏡像庫。 要下載golang.org/x/net包,能夠在本地建立包的目錄後使用git clone來拉取相應包的源代碼文件,具體操做以下:git

mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/net.git

使用gopm

使用gopm能夠從golang.org的一些鏡像網站上下載。github

安裝gopm

go get -u github.com/gpmgo/gopm

使用gopm安裝第三方包

不加-g參數,會把依賴包下載.vendor目錄下面; 加上-g參數,能夠把依賴包下載到GOPATH目錄中。golang

gopm get -g golang.org/x/net

使用goproxy

Go的1.11版本之後 能夠設置GOPROXY這個變量,來設置代理。 若是你本身有代理服務器就能夠把這個環境變量設置成本身的代理。 首先開啓go module支持:bash

在Mac/linux下執行:服務器

export GO111MODULE=on

Windows平臺執行:網站

SET GO111MODULE=on

2019.6.10更新:goproxy.cn代理

咱們這裏以https://goproxy.cn爲例:code

在Mac/linux下能夠執行如下命令來設置:get

export GOPROXY=https://goproxy.cn

Windows平臺在cmd執行如下命令來設置:

SET GOPROXY="https://goproxy.cn"

或者在PowerShell中執行:

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

❤️關注+點贊+收藏+評論+轉發❤️,原創不易,鼓勵筆者創做更好的文章

相關文章
相關標籤/搜索