写点什么

go get 下载包失败问题

用户头像
happlyfox
关注
发布于: 2021 年 02 月 23 日

由于某些不可抗力的原因,国内使用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"
复制代码


❤️关注+点赞+收藏+评论+转发❤️,原创不易,鼓励笔者创作更好的文章


发布于: 2021 年 02 月 23 日阅读数: 16
用户头像

happlyfox

关注

公众号 程序员工具集 2021.02.18 加入

博客 [www.zhouhuibo.club] 分享优秀的开源项目、学习资源和常用工具。谈论新闻热点、职场经验、学习感悟。共同进步!

评论

发布
暂无评论
go get下载包失败问题