goland不自动读取系统环境变量,必须手动在settings→go→goroot中用文件选择器指定含src/pkg/bin的go安装根目录(如c:\go或/usr/local/go),粘贴go env goroot输出值,删去末尾斜杠,并重启ide;同时需执行go env -w go111module=on和go env -w goproxy=https://goproxy.cn,direct确保模块与代理生效。

GoLand 不自动读取系统环境变量,手动安装后必须显式关联 GOROOT 才能识别 SDK;否则新建项目会报 “Go SDK not found”,右上角运行按钮不亮,go 命令在内置 Terminal 里也找不到。
GoLand 里填 GOROOT 不能手输路径
手输容易多斜杠、漏字符、错选 bin 目录——比如填 C:\Go\bin 或 /usr/local/go/(末尾带斜杠),都会触发 Invalid SDK 错误。GoLand 要求路径下必须同时存在 src、pkg、bin 三个子目录。
- 正确做法:点 Settings → Go → GOROOT 右侧的
⋯按钮,用文件选择器打开真实安装根目录(Windows 如C:\Go,macOS/Linux 如/usr/local/go) - 选完后看下方是否显示类似
go1.26.0的版本号;没显示就说明路径无效,退回上一级再试 - 验证路径是否合法:终端里执行
go env GOROOT,复制输出值,直接粘贴进 GoLand 的 GOROOT 输入框(不加引号、不加斜杠结尾)
系统 PATH 有效 ≠ GoLand 自动继承
即使 go version 在系统终端里能跑,GoLand 内置 Terminal 仍可能报 command not found,因为它的 Terminal 默认不加载 shell 的 PATH 配置。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 先确认系统级 PATH 已生效:终端运行
which go(macOS/Linux)或where go(Windows),看输出是否指向$GOROOT/bin/go - 若系统 PATH 正确但 GoLand 内置 Terminal 失效,可在 Settings → Tools → Terminal → Shell path 改为
/bin/zsh(macOS)或cmd.exe(Windows),让它真正复用系统环境 - 更稳妥的做法:Settings → Go → GOROOT 配对成功后,GoLand 会自动把
$GOROOT/bin加入其内部工具链搜索路径,无需依赖外部 PATH
GO111MODULE 和 GOPROXY 必须全局设,不能只靠 IDE
GoLand 不会自动设置 GO111MODULE=on 或 GOPROXY,这些是 go 命令本身的行为开关,IDE 只是调用者。配错会导致 go get 报 not in a module,或私有包拉不到。
- 执行
go env -w GO111MODULE=on,强制启用模块模式;go env GO111MODULE输出必须是on,不是auto -
GOPROXY必须含direct后缀,例如https://goproxy.cn,direct;只写https://goproxy.cn会导致未镜像包失败 - 内网环境务必加
go env -w GOSUMDB=off,否则go get会在 checksum 校验阶段卡住
真正卡住人的地方往往不是“没配”,而是“配了但没生效”:GOROOT 路径多一斜杠、GO111MODULE 没写死为 on、GOPROXY 少了 ,direct——这三个点,90% 的 SDK 关联失败都栽在这儿。










