在 Linux 下配置 Golang(Go 模块)代理,通常是设置 GOPROXY,有时还需要配置 GOSUMDB 和私有仓库。下面按常见场景说明。
export GOPROXY=https://proxy.golang.org,direct
国内常用代理:
export GOPROXY=https://goproxy.cn,direct
# 或
export GOPROXY=https://goproxy.io,direct
写入 shell 配置文件:
# bash
echo 'export GOPROXY=https://goproxy.cn,direct' >> ~/.bashrc
source ~/.bashrc
# zsh
echo 'export GOPROXY=https://goproxy.cn,direct' >> ~/.zshrc
source ~/.zshrc
如果代理拉取失败或校验异常:
export GOSUMDB=off
或更安全一点:
export GONOSUMCHECK=1
export GOSUMDB=sum.golang.org
export GOPRIVATE=git.example.com,github.com/org/private
这样 Go 不会通过代理和 sumdb 访问这些仓库。
如果网络本身需要代理:
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
Git 使用代理:
git config --global http.proxy http://127.0.0.1:7890
go env GOPROXY
go env GOSUMDB
go env GOPRIVATE
测试:
go mod download
export GOPROXY=https://goproxy.cn,direct
export GOSUMDB=sum.golang.org
export GOPRIVATE=git.company.com
如果你告诉我:
我可以给你一份精确可直接复制的配置。