常见问题之Golang——Failed to connect to github.com port 443:Timed out

Golang开发:解决连接GitHub超时问题的实战指南
本文介绍了在Golang中遇到的`Failed to connect to github.com port 443: Timed out`错误,通过检查代理设置、切换协议和hosts文件调整,提供了解决方案。

常见问题之Golang——Failed to connect to github.com port 443:Timed out

 

背景

知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。

知识分享系列目前包含Java、Golang、Linux、Docker等等。

开发环境

  • 系统:windows10
  • 语言:Golang
  • golang版本:1.17

内容

错误

go get: module XXXXXXXXXXXX : git ls-remote -q origin in XXXXXXXXXXXXXXX : exit status 128:
fatal: unable to access 'XXXXXXXXXXX ': Failed to connect to github.com port 443: Timed out

造成原因:

get拉取包时网络超时

解决方案:

1、首先使用浏览器确认包是否可正常访问到
2、查看当前git是否设置了其他代理或指定的地址,由于该仓库地址下没有导致。

-- 查看是否设置
 git config --global http.proxy
-- 去除相关设置
 git config --global --unset http.proxy

3、拉取再试尝试,如果仍不成功,可再设置git config --global url.git@github.com:.insteadOf https://github.com/使其地址都走https尝试。
4、仍然失败,则设置hosts文件进行再次尝试。

本文声明:

88x31.png

知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

<think>好的,用户遇到了Hyperledger Fabric链码安装时因依赖下载超时导致的失败问题,需要解决方案。首先,我要回忆一下相关的Golang依赖管理知识,以及之前处理类似问题的经验。 根据用户提供的引用内容,问题主要出在Golang默认的代理proxy.golang.org在国内无法访问,导致依赖下载超时。解决方法通常是更换为国内的代理,比如goproxy.cn。这在引用[1]、[2]、[3]中都有提到,用户需要修改GOPROXY环境变量。 接下来,用户的问题是关于Hyperledger Fabric链码安装时的同样错误,我需要将通用的Golang解决方案应用到Fabric的具体场景中。可能需要检查链码项目的go.mod文件是否存在,是否初始化了模块,以及是否执行了正确的命令来下载依赖。 另外,引用[4]提到缺少vendor目录,使用go mod vendor可以生成,这可能在链码安装时是必要的,因为有些环境可能需要离线依赖。需要确保用户在执行安装前已经正确生成了vendor目录。 可能的步骤包括:更换代理、设置环境变量、初始化模块、下载依赖、生成vendor目录,最后重新安装链码。需要分步骤详细说明,并注意不同操作系统下的命令差异,比如Windows和Linux的区别。 同时,还要考虑是否需要在Docker构建时传递代理设置,特别是在使用Fabric的容器环境时,可能需要额外的配置,比如Dockerfile中的ENV指令或者构建参数。 最后,需要验证解决方案是否有效,建议用户尝试后检查错误是否解决,如果没有,可能需要进一步排查网络问题或依赖版本兼容性。</think>### Hyperledger Fabric链码安装超时问题解决方案 #### 1. 修改Golang代理配置 **核心问题**:默认代理`proxy.golang.org`在国内无法访问导致依赖下载超时[^1][^2][^3]。 **解决方法**: ```bash go env -w GOPROXY=https://goproxy.cn,direct ``` 此命令将Go模块代理切换为国内镜像源,支持快速下载依赖。 --- #### 2. 初始化Go模块管理 在链码项目根目录执行: ```bash go mod init <模块名> # 若未初始化模块 go mod tidy # 同步依赖声明 ``` 此操作会生成`go.mod`文件并解析依赖关系[^4]。 --- #### 3. 强制下载依赖并本地化 ```bash go mod download # 强制下载所有依赖 go mod vendor # 生成vendor目录存放依赖包[^4] ``` 生成`vendor`目录后,链码安装时会优先使用本地依赖,避免实时下载。 --- #### 4. 链码安装命令增强 在安装链码时添加代理配置: ```bash # Linux/macOS GOPROXY=https://goproxy.cn go install <链码路径> # Windows $env:GOPROXY="https://goproxy.cn"; go install <链码路径> ``` --- #### 5. Docker构建场景配置 若通过Docker构建链码,需在`Dockerfile`中注入代理设置: ```dockerfile ENV GOPROXY=https://goproxy.cn ``` --- #### 验证流程 1. 检查`go env`输出确认代理生效 2. 确认`vendor`目录已生成(通常超过10MB) 3. 尝试本地编译:`go build -o chaincode` #### 典型错误排查 | 现象 | 解决方案 | |-------|----------| | `go.mod missing` | 执行`go mod init` | | `vendor not found` | 运行`go mod vendor` | | 容器内超时 | 检查Docker网络配置 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN華少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值