golang如何解决go get命令无响应问题

golang go get命令无响应问题

操作

1
go get -v github.com/golang/net

现象

go get github.com/golang/net: module github.com/golang/net:
Get https://proxy.golang.org/github.com/golang/net/@v/list:
dial tcp 216.58.220.209: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.

原因

所下载的库依赖有官方库,而官方被封禁网导致。

方法

法一:设置代理

1
2
3
go env -w GOPROXY=https://goproxy.cn
##设置完后 重新执行即可go get
1
2
3
ps:
go1.11发布后,还发布一个goproxy提供代理服务,goproxy.cn是专门服务于中国的,依赖于七牛云
github地址: https://github.com/goproxy

法二:git clone 依赖包直接到GOPATH/src/下

1
2
cd /d  %GOPATH%/src/
git clone https://github.com/golang/net.git
1
2
ps:https://github.com/golang上为golang.org的镜像依赖包
所以,可以直接使用git clone代替go get

go get 指令没有反应/出错/超时

使用GitHub上的eclipse/paho.mqtt.golang包时,长时间无响应后,弹出以下错误提示

1
$ go get github.com/eclipse/paho.mqtt.golang

package golang.org/x/net/proxy: unrecognized import path “golang.org/x/net/proxy” (https fetch: Get https://golang.org/x/net/proxy?go-get=1: dial tcp 216.239.37.1: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.)

出现这个问题的原因主要还是我们所使用网络的特殊性,导致go get无法拉取我们所需包的源码,从goproxy的官网上的使用分布图就能很明显的看出来:

golang如何解决go get命令无响应问题

此时修改一下环境变量启动GOPROXY,再用go get -v即可,-v参数能够显示go get执行的进度

1
2
3
4
# Enable the go modules feature
export GO111MODULE=on
# Set the GOPROXY environment variable
export GOPROXY=https://goproxy.io
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

使用支付宝扫码打赏,您的支持是我们持续努力的动力!
点赞 (0)

文章内容仅供参考,专业问题请咨询专业人士! 文章内观点、立场为作者个人行为,不代表本站立场! 未经书面许可请勿转载本站内容,否则您将承担侵权责任!

潇湘云服 程序开发 golang如何解决go get命令无响应问题 http://www.xxhunan.com/archives/496

常见问题
  • 对于站内付费内容,您需要支付相关费用才能查看,您可以购买单次查看服务,也可以通过升级VIP会员来获取批量查看服务,我们建议您通过升级VIP服务来获得查看权限。
查看详情
  • 您可以通过会员中心的商城功能直接升级VIP会员,VIP会员可以享受更多优惠服务!
查看详情

相关文章

评论
暂无评论
golang如何解决go get命令无响应问题-海报

分享本文封面