这个错误表明 Go 模块代理 (proxy.golang.org
) 无法连接,通常是由于网络问题导致的。以下是几种解决方法:
1. 检查网络连接
- 确保你的网络可以访问
proxy.golang.org
(谷歌的 Go 模块代理服务器)。 - 尝试 ping 或 curl 测试:
如果超时,可能是网络屏蔽或防火墙问题。ping proxy.golang.org curl -v https://proxy.golang.org
2. 更换国内镜像源(推荐)
如果你在国内,可以切换到以下镜像源之一:
方法一:使用 GOPROXY 环境变量
# 使用七牛云镜像(国内常用)
go env -w GOPROXY=https://goproxy.cn,direct
# 或者阿里云镜像
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
# Windows PowerShell
$env:GOPROXY = "https://goproxy.cn,direct"
方法二:直接修改 Go 配置
编辑 ~/.bashrc
、~/.zshrc
或系统环境变量,添加:
export GOPROXY=https://goproxy.cn,direct
3. 关闭代理(如果正在使用 VPN/代理)
某些代理可能导致连接失败,临时关闭后再试:
go env -w GOPROXY=direct
4. 手动下载依赖(备用方案)
如果镜像源仍不可用,可以手动下载依赖:
- 从 GitHub 或其他源码仓库下载
gorm.io/driver/sqlserver
。 - 将代码放到
$GOPATH/src/gorm.io/driver/sqlserver
。
5. DNS/防火墙排查
- DNS问题:尝试更换 DNS(如
8.8.8.8
)。 - 防火墙:检查是否阻止了
443
端口。
6. Go版本兼容性
确保你的 Go SDK版本支持模块功能(建议 ≥1.16):
go version
完成以上步骤后,重新运行 go mod tidy
。如果仍有问题,请提供更多上下文信息(如操作系统、Go版本、网络环境)。
内容由零声教学AI助手提供,问题来源于学员提问