关于golang:go-get下载包失败问题

38次阅读

共计 834 个字符,预计需要花费 3 分钟才能阅读完成。

因为某些不可抗力的起因,国内应用 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"

正文完
 0