因爲某些不可抗力的緣由,國內使用go get
命令安裝包時會常常會出現timeout的問題。本文介紹幾個經常使用的解決辦法。linux
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能夠從golang.org的一些鏡像網站上下載。github
go get -u github.com/gpmgo/gopm
不加-g
參數,會把依賴包下載.vendor
目錄下面; 加上-g
參數,能夠把依賴包下載到GOPATH
目錄中。golang
gopm get -g golang.org/x/net
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"