Go SDK路径需设为根目录(如/usr/local/go或C:\Go),而非bin子目录;Go插件须启用且版本≥2021.3;GOPATH仅在GOPATH模式下需配置,Modules模式下可忽略;新建项目必须勾选“Initialize module with go.mod”。

Go SDK 路径配不对,go 命令就识别不了
IDEA 本身不内置 Go 支持,必须通过 Go 插件 + 正确的 SDK 路径才能激活语法高亮、跳转和构建能力。关键不是装插件,而是让 IDEA 找到你本地的 Go 安装目录。
常见错误是直接填 /usr/local/go/bin 或 C:\Go\bin —— 这是 go 可执行文件所在目录,但 IDEA 要的是 SDK 根目录(即包含 src、pkg、bin 的上层目录):
-
macOS/Linux:填
/usr/local/go(不是/usr/local/go/bin) - Windows:填
C:\Go(不是C:\Go\bin) - 用
which go或where go找到命令路径后,往上退一级就是 SDK 根目录
Go 插件没启用或版本太旧,Go Modules 功能直接失效
IntelliJ 系列 IDE 的 Go 插件(不是 GoLand 自带版)必须手动启用,并且版本要 ≥ 2021.3 才能稳定支持 go.mod 依赖解析和 go.work。旧版插件会显示 “No SDK configured” 即使路径正确。
检查方式:Settings → Plugins → 搜索 “Go” → 确认状态为 Enabled,版本号在右下角可见。如果版本低于 2021.3,必须去 JetBrains 插件市场 下载最新 .zip 手动安装(IDEA 默认仓库常滞后)。
立即学习“go语言免费学习笔记(深入)”;
GOROOT 和 GOBIN 不用在 IDEA 里设,但 GOPATH 得留意
从 Go 1.16 起,GOROOT 由 go 命令自动推导,IDEA 中显式设置反而可能冲突;GOBIN 同理,除非你刻意想把 go install 的二进制输出到非默认位置,否则留空最安全。
GOPATH 则不同:如果你还在用 GOPATH mode(没开 GO111MODULE=on),就必须确保 IDEA 的 Go → GOPATH 设置和终端一致;但只要项目根目录有 go.mod,IDEA 就自动走 Modules 模式,此时 GOPATH 字段可忽略——它只影响 go get 无模块项目的存放位置。
新建项目时选错初始化方式,go mod init 不会自动触发
在 IDEA 里新建 Go 项目,不能直接选 “Empty Project”,否则连 go.mod 都没有。必须选:Go → New Project → 选择 SDK → 勾选 “Initialize module with go.mod”。
如果已有代码没 go.mod,别手动敲 go mod init 再刷新——IDEA 可能仍卡在 GOPATH 模式。正确做法:File → New → Module → Go → 勾选 “Create go.mod file” → 输入 module name(如 example.com/foo)。module name 必须是合法导入路径,不能含空格或大写字母。
模块名写错会导致后续 go run 报 cannot load package,因为 Go 工具链按 module name 解析相对路径。










