答案是需确认goroot与where go/which go输出路径一致且不含bin子目录,执行go mod init初始化模块,并配置goproxy=https://goproxy.cn,direct。

GoLand 环境搭不起来,八成不是缺工具,而是 GOROOT 和 PATH 没对上,或者 go mod 初始化时 GOPROXY 没生效。
确认 Go 安装路径和 GOROOT 是否一致
很多人从官网下载安装包(如 go1.22.3.windows-amd64.msi)后直接点下一步,GoLand 却报 “Cannot detect Go SDK” —— 实际上 Go 已装好,只是 GoLand 找不到它。
- 在终端运行
where go(Windows)或which go(macOS/Linux),得到类似C:\Program Files\Go\bin\go.exe的路径 -
GOROOT应为该路径的上一级目录,即C:\Program Files\Go(注意不含\bin) - GoLand > Settings > Go > GOROOT 中手动填入这个路径,别让它自动探测
- 如果系统环境变量里已设
GOROOT,但值错误(比如多写了\bin),GoLand 会静默失败
初始化项目前必须跑一次 go mod init
新建空目录 → 在 GoLand 里 Open Folder → 直接写 main.go → Run → 报错 “cannot find package ‘.’ in any of…”:这不是代码问题,是模块没激活。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 右键项目根目录 → “Open Terminal” → 执行
go mod init example.com/myapp(模块名可任意,但不能是main) - 执行后生成
go.mod文件,GoLand 才会识别为 Go 模块项目 - 若之前手动创建过
go.mod但内容为空或格式错(比如少了module行),go build会拒绝编译 - 别跳过这步直接点绿色三角运行,GoLand 不会自动补
go mod init
国内用户必须配 GOPROXY,否则 go get 卡死
执行 go get -u github.com/gin-gonic/gin 后光标一直转圈、无响应,大概率是代理没开,不是网络连不上。
- 终端运行
go env -w GOPROXY=https://goproxy.cn,direct(推荐goproxy.cn,比proxy.golang.org稳定) - 验证是否生效:
go env GOPROXY应输出https://goproxy.cn,direct - GoLand 内置终端默认不加载 shell 配置,所以即使你在 PowerShell 或 zsh 里设过
GOPROXY,GoLand 终端可能读不到 —— 必须用go env -w全局写入 - 如果公司内网禁外网,需换成内部代理地址,且确保该地址支持
/@v/list接口
最常被忽略的是:GoLand 的 Terminal 默认 Shell 和你日常用的不一致(比如系统是 zsh,它开的是 cmd),导致环境变量错位;另一个是 go.mod 文件权限被 IDE 锁住,改了保存不了,得关掉 GoLand 再手动删重试。










