根本原因是goroot配置错误或未重启ide:goroot必须指向含src、pkg、bin的go安装根目录(如c:\go而非c:\go\bin),填完需完全关闭并重开goland;同时必须启用go111module=on及goproxy=https://goproxy.cn,direct。

GoLand 无法运行 Go 代码,根本原因几乎总是 GOROOT 没对上、go 命令不可达,或模块模式未启用——不是插件没装、不是 license 有问题、也不是项目名字起错了。
GOROOT 必须指向安装根目录,且重启 IDE 才生效
GoLand 不读系统 PATH,也不自动探测 go。它只认你手动填进 Settings → Go → GOROOT 的那个路径,而且这个路径必须包含 src、pkg、bin 三个子目录。
- Windows 正确值示例:
C:\Go(不是C:\Go\bin) - macOS 正确值示例:
/usr/local/go(Homebrew 安装时是/opt/homebrew/opt/go/libexec) - Linux 正确值示例:
/usr/local/go - 填完点 Apply 后,必须完全关闭 GoLand 再重开——仅 Reload project 或 Sync 无效
- 验证方式:新建
main.go,写fmt.Println("ok"),右上角绿色三角亮起且无波浪线,才算成功
GO111MODULE=on 和 GOPROXY=https://goproxy.cn,direct 缺一不可
GoLand 默认不开启模块模式,go get 会退化为旧式 GOPATH 查找逻辑,直接忽略 GOPROXY,导致所有依赖拉取失败或超时。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 先在终端执行
go env GO111MODULE,输出必须是on;如果不是,运行go env -w GO111MODULE=on -
GOPROXY必须带,direct后缀,例如https://goproxy.cn,direct;只写https://goproxy.cn会导致私有模块或新版包解析失败 - 若公司有内网代理,顺序很重要:
https://intra.example.com,goproxy.cn,direct - 改完后执行
go clean -modcache清缓存,再试go get
项目路径含中文、空格或符号,module 初始化必失败
Go 工具链底层大量使用 shell 路径拼接和 URL 编码,遇到中文或空格会直接 panic 或静默失败,表现为 go mod init 报错、import 标红、go run . 找不到包。
- 绝对不要把项目放在
~/Desktop/我的项目、C:\Users\张三\go\proj这类路径下 - 推荐路径:macOS/Linux 用
~/go/src/hello,Windows 用C:\work\hello - 新建项目时,在 GoLand 中选 “Go Module”,填写模块名如
example.com/hello,IDE 会自动生成合规路径 - 已有项目出问题?剪切到纯英文无空格路径,删掉
go.mod和go.sum,重新go mod init
dlv 调试器启动失败,90% 是没装或版本不匹配
could not launch process 错误不是 GoLand 配置问题,而是 dlv 二进制缺失、不可执行,或与当前 Go 版本不兼容。
- 先在终端运行
go install golang.org/x/tools/gopls@latest(确保gopls也装了) - 再运行
go install github.com/go-delve/delve/cmd/dlv@latest - 装完执行
dlv version,有输出才算成功 - 检查 GoLand Terminal 是否用了和系统一致的 shell(比如 macOS 上 zsh 是默认,但 GoLand 若配了 bash,PATH 就可能找不到
dlv) - 调试前务必确认 Run Configuration 中的 Working directory 设置合理,
$FileDir$比默认项目根目录更安全
最常被跳过的动作是:改完环境变量后没关终端、设完 GOROOT 后没重启 GoLand、配完 GOPROXY 后忘了开模块模式。这些步骤不“高级”,但卡住所有人。










