go-lang: dial tcp 172.217.27.145:443: i/o timeout

VM15的CentOS8上搭一个私链, 结果没想到环境配置的过程这么坎坷…在stackoverflow等各大网站反复横跳, 花了一晚上才弄好orz

1. git clone: 过早的文件结束符(EOF)

EOF报错
我最惨的地方在于几乎每个坑都踩了, 这个EOF要么是git缓冲区溢出, 要么是网卡了; 经确定我的网还是挺不错的, 所以解决一下缓冲区的问题:

#git config --global http.postBuffer 524288000
#git clone xxxxxxxxxxx

然后clone就可以了
解决之后是这样的

2. make geth: cannot find package XXX in any of: …

错误截图
这个在stackoverflow里有人说是版本的问题, 卸载重装, 我重装了14的(最新版), 然后再次make, 网好的话(下载某些东西不需要科学上网)理论上就没事了

3. dial tcp 172.217.27.145:443: i/o timeout

错误提示
什么叫造化弄人啊—国内把mod墙了, 根本访问不了. 这个要么科学上网设置代理端口再make, 要么换个下载源. 参照这篇:一键解决go get golang.org/x 包失败
我看了之后, 主要是设置GOPROXY环境变量(主要是改一下代理), 之后启用go module, 用下面的命令:

#export GOPROXY=https://goproxy.io
#export GO111MODULE=on

然后就快乐了, 向成为一个矿工又进一步(苦笑.jpg)
make成功

### Go模块代理下载超时问题解决方案 当遇到 `i/o timeout` 或者其他网络连接问题时,可以通过设置环境变量 `GOPROXY` 来解决 Golang 模块的下载问题。以下是具体的解决方法: #### 设置 GOPROXY 环境变量 通过配置 `GOPROXY` 使用国内镜像站点可以有效缓解因网络原因导致的下载失败问题。推荐使用的镜像地址如下: - **国内阿里云**: `https://mirrors.aliyun.com/goproxy/` - **清华大学开源软件镜像站**: `https://proxy.golang.org.cn` 可以在终端临时设置该变量或者将其永久写入系统的环境变量中。 对于 Linux 和 macOS 用户,在当前会话中运行以下命令即可生效: ```bash export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct ``` 如果希望此更改长期存在,则需编辑用户的 shell 配置文件(如 `.bashrc`, `.zshrc`),并追加上述命令[^2]。 Windows 用户可通过 PowerShell 执行类似的指令来设定全局环境变量: ```powershell $env:GOPROXY="https://mirrors.aliyun.com/goproxy/,direct" ``` #### 处理特定依赖项无法拉取的情况 针对某些特殊库(例如来自 `golang.org/x/tools` 的资源)可能仍然不可达的情形,可手动克隆这些仓库到本地工作区作为替代方案。具体操作流程已在参考资料中有提及[^1]^, ^[^3]。以工具链为例,执行下列 Git 命令完成所需项目的获取: ```bash git clone https://github.com/golang/tools.git $GOPATH/src/golang.org/x/tools ``` 另外需要注意的是,部分旧版 Go 工具可能会因为 API 调整而引发兼容性错误;因此建议升级至最新稳定发行版本以便获得更好的支持体验. #### 示例代码片段验证安装成功与否 下面提供了一段简单的程序用于测试您的开发环境中是否能够正常调用远程包服务功能。 ```go package main import ( "fmt" _ "golang.org/x/tools/cmd/stringer" // 测试导入外部包 ) func main() { fmt.Println("If no error occurs during compilation, the setup is correct.") } ``` 编译运行以上脚本如果没有报错则表明一切就绪! ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值