go get下載包失敗的解決方案

happlyfox 發表於 2021-03-24

關於我

文章首發 | 我的部落格 | 歡迎關注

由於某些不可抗力的原因,國內使用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"

推薦閱讀

Redis工具收費後新的開源已出現

GitHub上Star最高的工程師技能圖譜

中國程式設計師最容易發錯的單詞

推薦!!! Markdown圖示索引網站

END

歡迎關注公眾號 程式設計師工具集 👍👍 致力於分享優秀的開源專案、學習資源 、常用工具

回覆關鍵詞“關注禮包”,送你一份最全的程式設計師技能圖譜。

本作品採用《CC 協議》,轉載必須註明作者和本文連結