it编程 > 前端脚本 > Golang

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

29人参与 2025-02-14 Golang

golang go get命令无响应问题

操作

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.

原因

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

方法

法一:设置代理

go env -w goproxy=https://goproxy.cn

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

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

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

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

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

$ 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的官网上的使用分布图就能很明显的看出来:

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

# enable the go modules feature
export go111module=on
# set the goproxy environment variable
export goproxy=https://goproxy.io

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

Go语言封装一个Cron定时任务管理器

02-14

Golang 读取并解析SQL文件的实现方法

02-14

Go利用ffmpeg进行视频和音频处理

02-14

Go语言微服务中实现链路追踪

02-14

详谈Golang uint类型溢出问题

02-14

Go语言操作Excel的实现示例

02-14

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论