goland中goproxy没生效,根本原因是环境变量未真正写入或未在goland中显式配置:需先在终端执行go env -w goproxy=https://goproxy.cn,direct并验证go env goproxy输出正确,再在goland settings → go → go modules中勾选enable go modules integration,并在environment框内完整填写goproxy=https://goproxy.cn,direct,apply后生效;私有模块还需同步设置gonoproxy和gonosumdb。

GoLand里GOPROXY没生效?先确认go env是否写对了
GoLand本身不管理全局环境变量,它只读取系统或当前终端已生效的 GO111MODULE 和 GOPROXY。很多人在GoLand里配了代理却没用,根本原因是终端里没真正设上——GoLand启动时并不会自动加载你刚在PowerShell里执行的 go env -w 命令,除非你重启了终端或重载了shell配置。
验证方式很简单:在GoLand底部的 Terminal 里直接运行:
go env GOPROXY
输出必须是类似 https://goproxy.cn,direct 才算成功。如果为空、为 https://proxy.golang.org 或报错,说明环境变量没落盘,得补一句:
go env -w GOPROXY=https://goproxy.cn,direct- Windows用户还要顺手检查
GO111MODULE=on是否也设了:go env -w GO111MODULE=on - 设完别忘了关掉再重开GoLand Terminal,否则旧会话不认新变量
GoLand Settings里勾选“Enable Go Modules”但没填GOPROXY?那等于白开
GoLand的 File → Settings → Go → Go Modules 页面有两个关键动作:勾选 Enable Go Modules integration 是前提,但更重要的是下面的 Environment 输入框——它会覆盖系统级 GOPROXY,且优先级更高。如果你这里留空,GoLand就按系统默认(通常是 https://proxy.golang.org)走,国内基本连不上。
正确做法是把代理地址完整粘进去:
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 填
GOPROXY=https://goproxy.cn,direct(注意不是只填URL,要带GOPROXY=) - 勾选
Enable for current project可选,但建议勾上,避免切换项目时失效 - 改完点
Apply,别只点OK,Apply才真正写入配置
私有模块(比如公司内网git)下载失败?GONOPROXY和GONOSUMDB必须成对设
当你 import "git.internal.company.com/my/lib" 时,如果只配了 GOPROXY,Go会尝试走代理拉这个地址,结果404。这时候不能删掉 direct,而是得明确告诉Go哪些域名跳过代理。
必须同时设置两个变量,且值完全一致:
go env -w GONOPROXY="git.internal.company.com,github.com/my-org"go env -w GONOSUMDB="git.internal.company.com,github.com/my-org"- 逗号分隔,不能有空格;不支持通配符,
*.company.com无效,得写全域名 - 设完立刻生效,不用重启GoLand,但
go mod tidy要重新跑一次
依赖还是慢或校验失败?检查go.sum和缓存是否被污染
即使代理配对了,go mod tidy 仍卡住或报 checksum mismatch,大概率是本地缓存或 go.sum 里混进了旧版本或损坏记录。
最稳妥的清理顺序是:
- 删掉项目根目录下的
go.sum(别怕,go mod tidy会重建) - 运行
go clean -modcache清掉$GOPATH/pkg/mod全部缓存 - 再执行
go mod tidy -v,观察输出里是否出现downloading—— 如果只有require行没下载日志,说明真从缓存读了 - 若仍失败,临时测一下直连:
GOPROXY=off go mod download,能通说明代理链有问题,不通则可能是私有模块路径或权限问题
代理配置本身不复杂,但 GOPROXY、GONOPROXY、GONOSUMDB 这三者之间的联动关系容易漏掉一环,尤其是 GONOSUMDB 经常被忽略,导致私有模块拉下来却过不了校验。










