go get下载包失败问题

happlyfox · · 121 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:happlyfox

查看原文:go get下载包失败问题

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

121 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传