解決go get下載包失敗問題


解決go get下載包失敗問題

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

從github克隆

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

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的一些鏡像網站上下載。

安裝gopm

go get -u github.com/gpmgo/gopm

使用gopm安裝第三方包

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

gopm get -g golang.org/x/net  

使用goproxy

Go的1.11版本以后 可以設置GOPROXY這個變量,來設置代理。 如果你自己有代理服務器就可以把這個環境變量設置成自己的代理。 首先開啟go module支持:

在Mac/linux下執行:

export GO111MODULE=on

Windows平台執行:

SET GO111MODULE=on

2019.6.10更新:goproxy.cn

我們這里以https://goproxy.cn為例:

在Mac/linux下可以執行以下命令來設置:

export GOPROXY=https://goproxy.cn

Windows平台在cmd執行以下命令來設置:

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

或者在PowerShell中執行:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM