解决go包管理代理网址无法访问:proxy.golang.org

本文详细记录了一次使用Go get命令安装gin框架时遇到的连接失败问题,由于中国大陆的网络限制,官方地址无法正常访问。作者分享了解决方案,即更换GOPROXY环境变量为国内可用的代理地址https://goproxy.cn,最终成功执行命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

go相关官方地址被墙真的很让人暴躁:

go版本:go version go1.13.6 windows/amd64

 

安装gin框架时使用了:go get github.com/kardianos/govendor

然后:

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

看提示就是连接不上了,关掉VPN,直接访问地址,得了还是被墙了

网上找了个能用的代理地址:https://goproxy.cn

执行命令:

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

重新执行命令,通过!

<think>好的,我现在需要帮助用户解决Go语言下载过程中遇到的网络超时问题,特别是涉及proxy.golang.org和linux amd64平台的情况。用户提到了错误信息,比如连接到goproxy.cn时出现DNS查找超时,以及sum.golang.org被墙的问题。我需要结合提供的引用信息,整理出可行的解决方案。 首先,根据引用[1]和[5],用户可能已经尝试过设置GOPROXYgoproxy.cn,但仍然遇到了超时问题。这可能是因为goproxy.cn的DNS解析有问题,或者网络连接不稳定。需要检查网络配置,或者尝试其他代理源。 引用[2]提到GOSUMDB默认设置为sum.golang.org,而这个网站被墙,导致验证包失败。解决办法是关闭验证或更换GOSUMDB的地址。用户可能需要设置GOSUMDB=off,或者使用可访问的校验服务器。 引用[4]和[5]建议使用GOPROXYgo module来解决依赖下载问题。设置GOPROXY为国内的镜像源,比如https://goproxy.cn,direct,可以加速下载。同时,可能需要调整其他环境变量,如GOSUMDB。 接下来,我需要将这些信息整合成步骤,确保用户能一步步操作。可能的步骤包括:设置GOPROXY环境变量、关闭或更换GOSUMDB、检查网络配置、使用go clean清理缓存、更换其他代理源如goproxy.io等。 还需要考虑用户的操作系统是否为Linux,是否在容器中运行,防火墙或DNS设置是否有问题。例如,引用[1]中的错误显示DNS查询失败,可能需要更换DNS服务器为8.8.8.8或114.114.114.114,或者检查/etc/resolv.conf文件。 最后,生成相关问题,帮助用户深入理解和应对类似问题,比如如何永久设置环境变量、其他代理源推荐、容器中的配置方法等。</think>以下是解决Go语言下载依赖时网络超时问题的分步指南: ### 1. 设置国内代理镜像源 通过修改Go模块代理地址为国内镜像,加速依赖下载: ```bash go env -w GOPROXY=https://goproxy.cn,direct # 使用七牛云镜像[^5] ``` 或尝试其他镜像源: ```bash go env -w GOPROXY=https://goproxy.io,direct # 另一个常用镜像 ``` ### 2. 关闭包校验验证 针对`sum.golang.org`访问超时问题,临时关闭校验: ```bash go env -w GOSUMDB=off # 关闭校验(不推荐长期使用)[^2] ``` 或更换校验服务器: ```bash go env -w GOSUMDB=sum.golang.google.cn # 使用可访问的校验服务 ``` ### 3. 检查DNS配置 若出现`lookup goproxy.cn... timeout`错误(如引用[1]),尝试: ```bash echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf # 改用Google DNS ``` 或在Docker容器中运行时,检查容器网络配置。 ### 4. 清理模块缓存 强制刷新依赖缓存: ```bash go clean -modcache # 清理旧缓存 go mod tidy # 重新整理依赖 ``` ### 5. 容器环境特殊处理 在Dockerfile中添加代理设置: ```dockerfile ENV GOPROXY=https://goproxy.cn,direct \ GOSUMDB=off ``` ### 6. 验证环境变量 确认配置已生效: ```bash go env | grep -E "GOPROXY|GOSUMDB" ``` 应显示: ``` GOPROXY="https://goproxy.cn,direct" GOSUMDB="off" ```
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值