goland跑不起来主因是goroot未手动指定、未启用go module、代理缺direct;须填根目录(如/usr/local/go)、重启ide、新建项目选go module、代理设为https://goproxy.cn,direct。

GoLand 跑不起来,90% 是因为 GOROOT 没手动指定、go 命令在终端能用但在 IDE 里失效、或者新建项目时没选 Go module —— 这三件事漏掉任何一项,右上角绿色运行按钮就永远灰着。
GOROOT 必须手动填对,且重启才生效
GoLand 不读系统 PATH,也不信 “Auto-detect”。它只认你填进去的路径,而且必须是 Go 安装根目录(比如 /usr/local/go 或 C:\Go),不是 bin/go,也不是软链接。
- 路径下必须有
src、pkg、bin三个文件夹;缺一个就报No Go SDK found - Settings → Go → GOROOT → 点右侧文件夹图标选择,别手输、别复制粘贴错层级
- 点
Apply后,必须彻底关闭 GoLand(包括后台进程),再重新打开;Reload project或Sync完全无效 - 验证方式:新建
main.go,写fmt.Println("ok"),看import "fmt"是否标红、绿色三角是否亮起
新建项目必须选 Go module,不能选 Empty Project
GoLand 2025+ 对非模块项目支持极弱,索引错乱、依赖标红、运行按钮灰掉,根源常在这里。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 新建项目时,左侧选
Go,右侧模式务必选Go module,填模块名如example.com/hello(域名不重要,但不能纯数字或含空格) - 创建后立刻检查根目录是否有
go.mod文件;没有就删掉项目重来,别手动go mod init - 如果项目根目录下存在
go.work,直接删掉它——它会强制启用多模块工作区,干扰单模块初始化 - 删完后右键项目根目录 →
Reload project(不是Sync)
代理必须带 direct,否则私有包和本地 replace 失败
国内用户不配代理,go get 会卡住、依赖标红、Initialize Go Modules 提示无响应。
- Settings → Go → Go Modules → 勾选
Enable Go modules integration -
Proxy填https://goproxy.cn,direct(注意逗号 +direct,缺一不可) - 终端执行
go env GO111MODULE,输出必须是on;如果不是,运行go env -w GO111MODULE=on - 如果仍失败,可在内置 Terminal 中手动执行
go mod init example.com/myapp,再Reload project
点击绿色三角没反应?Working directory 设错了
不是代码问题,是 GoLand 不知道该以哪个路径执行 go run。
- 编辑 Run Configuration →
Working directory改为$FileDir$(即当前main.go所在目录) - 或者保持默认工作目录,但在
Program arguments中填./cmd/myapp(假设入口在cmd/myapp/main.go) - 注意:
go run main.go和go run .行为不同 —— 前者不解析go.modimport 路径,后者才按模块规则加载
最易被忽略的是:GOROOT 修改后不重启 IDE、代理配置漏掉 direct、以及误把 go.work 当成普通配置文件留着。这三处一旦出错,现象都像“环境有问题”,但实际只是配置没落到位。










