栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

解决Go包管理代理网址无法访问的问题proxy.golang.org

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

解决Go包管理代理网址无法访问的问题proxy.golang.org

        在使用go get安装第三方包时,由于众所周知的原因,可能回出现类似下面的错误

go get github.com/kardianos/govendor: module github.com/kardianos/govendor: Get https://proxy.golang.org/github.com/kardianos/govendor/@v/list: dial tcp 172.217.160.113:443: connectex: A connection attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because connected host has failed to respond.

        解决上述问题主要有两个办法:

        一、从github下载源码安装

        既然无法直接下载安装,那可以先从github将源码下载下来,然后在本地编译。麻烦的一点是需要在本地一层一层创建跟第三方包相同的包路径。大概方式如下(示例);

        但是这种方法有个问题,如果在编译这个第三方时又用到了其他本地没有的第三方包,那么Go还是会通过go get安装这些第三方包,那么这些第三方包依然无法下载,导致编译失败。

> mkdir -p $GOPATH/src/golang.org/x/
> cd $GOPATH/src/golang.org/x/
> git clone https://github.com/golang/crypto.git crypto
> go install crypto

        二、配置GOPROXY

        第二种方法比较简单,有点一劳永逸的意思。可以使用第二种方法原因是,从 Go 1.11 版本开始,官方支持了 go module 包依赖管理工具,新增了 GOPROXY 环境变量。如果设置了该变量,下载源代码时将会通过这个环境变量设置的代理地址,而不再是以前的直接从代码库下载。所以本方法要求Go Version  >= 1.11,如果你的Go Version >= 1.13,那么你还可以使用GOPRIVATE环境变量。

        国内可选择的Go proxy还算多,有七牛云 - Goproxy.cn,GOPROXY.IO - A Global Proxy for Go Modules,阿里云Go Module代理服务 (aliyun.com)。

        配置方法可以详细见各家官网,下面已goproxy.cn为例。

---------------------------------------------------------------------------------------------------------------------------------

用法

打开你的终端并执行

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct

完成。

macOS 或 Linux

打开你的终端并执行

$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn

或者

$ echo "export GO111MODULE=on" >> ~/.profile
$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
$ source ~/.profile

完成。

Windows

打开你的 PowerShell 并执行 (此处博主已测试,仅当前powershell有效)

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

或者 (博主建议直接用这种,go get完成后可将GO111MODULE改回auto)

1. 打开“开始”并搜索“env”
2. 选择“编辑系统环境变量”
3. 点击“环境变量…”按钮
4. 在“<你的用户名> 的用户变量”章节下(上半部分)
5. 点击“新建…”按钮
6. 选择“变量名”输入框并输入“GO111MODULE”
7. 选择“变量值”输入框并输入“on”
8. 点击“确定”按钮
9. 点击“新建…”按钮
10. 选择“变量名”输入框并输入“GOPROXY”
11. 选择“变量值”输入框并输入“https://goproxy.cn”
12. 点击“确定”按钮

完成。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/907531.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号