Golang-go mod download 出现 dial tcp 34.64.4.17:443: i/o timeout
go mod 是 golang 1.12 推出的包管理工具,具有包依赖管理、版本管理、打包等功能,类似于 Java 生态中的 Maven (不得不说 Maven 真好用)。在使用的过程中遇到了 go mod download 时的 dial tcp 34.64.4.17:443: i/o timeout 问题,这里记录下解决的过程。
文章目录
- 1、问题来源:引用 go-zookeeper 出现 i/o timeout 问题
- 2、权限问题:为什么使用 Idea 自身控制台无法执行成功
关于为什么要使用 go mod,可以参考下这篇文章:开始使用 Go Module - 简书
1、问题来源:引用 go-zookeeper 出现 i/o timeout 问题
我希望在 Golang 程序中使用 zk ,所以需要导入 github.com/samuel/go-zookeeper/zk
这个库,在程序中的导入方式:
package mainimport (_ "github.com/samuel/go-zookeeper/zk"
)
然后在Idea控制台,输入go mod tidy
检查所需依赖并进行下载,可以看到已经检查到缺少 zk 依赖,所以使用了go mod download
下载该依赖,然后出现 i/o timeout 的问题:
首先考虑的是被墙了,导致连接超时,所以采用了网上的方案,切换 go 的下载代理:
go env -w GO111MODULE=on // 开启go mod
go env -w GOPROXY=https://goproxy.cn,direct // 切换下载代理
然后在控制台继续执行 go mod tidy
, 最后仍然提示: dial tcp 34.64.4.17:443: i/o timeout
。
最后折腾了半天,采用 gopm 也没能把依赖下载下来。
但是我使用 Mac 自带的终端进入该目录下执行 go mod tidy
后居然成功了:
2、权限问题:为什么使用 Idea 自身控制台无法执行成功
一开始我使用的是 Idea 自身控制台来执行go mod tidy
这个命令,我们可以看一下,打开一个 Idea 控制台其实是 Idea 进程打开了一个控制台子进程:
打开三个控制台:
通过 top 命令找到 Idea 的 pid 为345, 通过 pstree 命令查看该进程创建的子进程:
~/MyFile/Project/go-mod-test : pstree -p 345
-+= 00001 root /sbin/launchd\-+= 00345 arong /Applications/IntelliJ IDEA.app/Contents/MacOS/idea -psn_0_65|--- 00700 arong /Applications/IntelliJ IDEA.app/Contents/bin/fsnotifier|--- 00768 arong /Applications/IntelliJ IDEA.app/Contents/jbr/Contents/Home/|--= 00710 arong /bin/zsh --login -i // 默认的命令执行器|--= 10928 arong /bin/zsh --login -i // 控制台1|--= 13038 arong /bin/zsh --login -i // 控制台2\--= 13063 arong /bin/zsh --login -i // 控制台3
总结起来就是:Idea 使用的是/bin/zsh --login -i
命令启动一个终端进程来执行程序,所以可能会出现某些权限缺失的问题,这时采用操作系统自身的终端或者在执行go mod tidy
命令时外加sudo go mod tidy
获取到root
权限就可以解决该问题了。
Golang-go mod download 出现 dial tcp 34.64.4.17:443: i/o timeout相关推荐
- 【jumpserver升级】docker pulling image报错dial tcp 104.18.124.25:443: i/o timeout
报错信息 在openEuler 22.03 LTS操作系统中,通过在线方式将jumpserver-v2.25.4升级至jumpserver-v2.25.5,当执行./jmsctl.sh upgrade ...
- go报错dial tcp xx.xx.xx.xx:443: i/o timeout
踩坑记录 使用go启动服务时,报错dial tcp xx.xx.xx.xx:443: i/o timeout 解决办法:配置goproxy # 配置goproxy export GOPROXY=htt ...
- go get dial tcp 172.217.163.49:443: i/o timeout
国内运行 go 项目 很多情况下会出现无法下载 所需 包, 编译各种报错.. 这时需要我们设置代理,才可以访问.
- module ***: Get “https://proxy.golang.org/***“: dial tcp 172.217.160.113:443: connectex: A connectio
问题描述: 从github上下载代表项目的时候,报module ***: Get "https://proxy.golang.org/***": dial tcp 172.217. ...
- dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启
kubernetes(k8s)DNS 服务反复重启解决: k8s.io/dns/pkg/dns/dns.go:150: Failed to list *v1.Service: Get https:// ...
- 【k8s】Error response from daemon: Get https://192.168.22.234/v2/: dial tcp 192.168.22.234:443: connec
[起因] 番茄配蔬菜!!! 起初Dashborad无法访问,在重启了相关的节点之后,登录进来发现,你怎么成这样了呢,大兄滴儿~~ [问题] 仔细看一下报错信息,我们可以找到错误原因:Faile ...
- Tiller pods can‘t connect to k8s apiserver,dial tcp 10.254.0.1:443: no route to host
1. 问题 使用helm list查看本地安装应用时,报错 # helm listError: Get https://10.254.0.1:443/api/v1/namespaces/kube-sy ...
- 解决dial tcp 172.217.160.81:443: connectex:
在下载依赖包的时候经常会有这个错误,为什么呢,因为访问不了外网,被墙防啦 所以我们要用国内的代理 哎 比如 go env -w GOPROXY=https://goproxy.cn 这样就能开心的导包 ...
- go get failed: dial tcp 127.0.0.1:443: connect: connection refused
换个代理源 go env -w GOPROXY=https://goproxy.cn
最新文章
- [解题报告]10929 - You can say 11
- CF359D:Pair of Numbers(数论)
- Python处理JSON数据
- 修改 SQL Server 服务器的 IP 地址
- V-rep学习笔记:机器人模型创建2—添加关节
- 虚拟主机1服务器,虚拟主机1服务器
- 关于两个用于创建和销毁二维动态数组的宏
- network packet
- Zookeeper_安全认证讲解
- 转载---设计模式分类
- api 接口开发理论 在php中调用接口以及编写接口
- java开源服务框架_Java框架服务
- [LeetCode] 234. Palindrome Linked List_Easy tag: Linked List
- libuv tcp client
- git 多个stash选择指定的版本恢复
- 图解R树的原理及相关操作
- java 求和、差、乘、商
- Jenkins 与 GitLab 的自动化构建之旅
- MySQL不小心按到ctrl_凌晨两点,不小心按下了Ctrl键,结果这样了……
- P3406 海底高铁(前缀和+差分+坑点)
热门文章
- 电竞耳机推荐什么牌子好?黑科技加持HyperX夜鹰加强版,重新定义游戏电竞耳机
- EMC存储划分lun过程
- 共读《傲慢与偏见》读书有感
- 数值分析C++实现用四阶龙格-库塔(Runge-Kutta)方法求解常微分方程初值问题
- java自动售货机代码_急求简易自动售货机(java编程)
- 有限状态机FSM(Finite State Machine)及实现方式介绍(转)
- iCheck对于radio选定和取消选定
- 【Linux内核】RW读写锁机制
- 分享!如何实现微信扫二维码调用外部浏览器打开指定页面的功能
- pycharm sql语句插入