GoLand 配多个 Go SDK 需在 File → Project Structure → SDKs 中添加各版本 bin/go.exe 路径,项目级独立绑定;GOROOT 留空才能生效项目 SDK,go.work 目录需右键设为 Go Module Root,且工作区根目录必须与 go.work 同级,否则 gopls 模块解析失败。

GoLand 里怎么配多个 Go SDK?
直接在项目设置里添加,不是改系统环境变量。GoLand 自己维护 SDK 列表,每个项目可独立绑定一个 Go 安装路径,互不干扰。
- 打开 File → Project Structure → SDKs,点击
+→Add SDK → Go SDK - 浏览到你解压好的 Go 版本目录(比如
C:\go1.20或C:\go1.22),选中其下的bin\go.exe - 确认后,SDK 名称会显示为类似
go1.20.15 (windows/amd64),可重命名便于识别 - 回到 Project → Project SDK 下拉框,选择刚添加的版本即可生效
为什么改了系统 PATH,GoLand 还是用旧版本?
因为 GoLand 默认不读系统 PATH,它优先使用自己配置的 SDK,除非你手动设成 “Use project SDK” 且没配过任何 SDK,才会 fallback 到 PATH 里的 go。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 检查 File → Settings → Go → GOROOT:如果这里填了路径,就强制覆盖项目 SDK 设置
- 确保该字段为空,才能让项目级 SDK 生效
- 如果用了
go.work,还要右键含go.work的目录 →Mark Directory as → Go Module Root,否则 gopls 无法定位模块
切换 SDK 后,gopls 为什么还报 no module found?
根本原因是编辑器工作区根目录和 go.mod / go.work 所在目录不一致,gopls 启动时找不到模块上下文。
- 不要用
Open Folder打开整个仓库顶层;改用Add Folder to Workspace…添加子模块目录 - 验证方式:命令面板执行
Go: Toggle Logs,看 gopls 启动日志里的working directory是否等于go.work所在路径 - Multi-root Workspace 下务必关闭
Auto-add modules on open,否则每个子目录被单独初始化,绕过go.work
批处理脚本切版本,GoLand 要不要重启?
要。GoLand 启动时只读一次 PATH 和 SDK 配置,运行中不会监听环境变量变化。
- 用
setx PATH "C:\go1.22\bin;%PATH%"切换后,必须关掉所有 GoLand 窗口,再重新启动 - 如果只是临时测试,可用
set PATH="C:\go1.21\bin;%PATH%" & goland64.exe启动新实例,不影响原有窗口 - 最省事的做法:不同 Go SDK 对应不同桌面快捷方式,目标栏末尾加
-Didea.config.path=C:\Users\{user}\AppData\Roaming\JetBrains\GoLand2026.2隔离配置

















