必须手动创建永久go build运行配置:选directory模式并精准定位main.go所在目录;program arguments传参,working directory设为配置文件路径;environment variables中补全path并勾选继承系统环境;关闭build after、开启run after build和emulate terminal。

GoLand 里传命令行参数,必须走「永久 Go Build 运行配置」,临时点击绿色三角或右键 Run 是不读 Program arguments 的——哪怕你改了 Settings 里的默认模板,也不生效。
必须手动创建 Go Build 配置并选 Directory 模式
点击右上角「Add Configuration」→「+」→「Go Build」,填名称(如 dev-server)后重点设置:
-
Run kind必须选Directory:选File会导致 import 路径解析失败、go.mod依赖不加载,尤其多main包项目会直接报错 -
Directory字段点文件夹图标,精准定位到含main.go的目录(例如./cmd/api),不能选整个项目根目录 - 留空
Output directory即可,调试阶段无需生成二进制
Program arguments 和 Working directory 要配对用
Program arguments 里填的参数,是给你的 main 函数接收的 os.Args,不是给 IDE 或 go 命令用的:
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 直接写参数,空格分隔,例如:
--port=8081 --env=staging - 值含空格时用单引号包裹,例如:
'--name=prod server',双引号在 GoLand 里会被忽略 -
Working directory必须设为配置文件所在路径:如果代码里os.Open("config.yaml"),而config.yaml在./configs/下,这里就得填$ProjectFileDir$/configs或绝对路径;留空就默认项目根目录,90% 的open config.yaml: no such file都出在这儿
Environment variables 别漏 PATH 和 GIN_MODE
点击 Environment variables 右侧 …,逐行添加:
-
GOROOT和GOPROXY不用再设,GoLand 已从 GOROOT 设置继承 - 必须显式补全
PATH:若程序 execjq、curl等工具,不加PATH=/usr/local/bin:/opt/homebrew/bin:$PATH就会报exec: "jq": executable file not found in $PATH - Gin 项目务必加
GIN_MODE=debug:否则 panic 只输出一行,断点停住也看不到完整上下文 - 勾选
Include system environment variables,否则$HOME、$USER丢失,某些库(如os/user)会 panic
Build after 要关,Run after build 和 Emulate terminal 要开
构建行为直接影响启动速度和日志可读性:
- 取消勾选
Build after下的Build:如果你已手动go mod tidy且依赖稳定,跳过这步能省 3 秒以上 - 必须勾选
Run after build:否则编译完不自动执行,得手动点一次运行 - 必须勾选
Emulate terminal in output console:不然 ANSI 颜色失效、日志换行错乱,Gin 的[GIN-debug]彩色输出全变白
最易被忽略的是 Working directory 和 PATH 的组合效应:前者决定相对路径读取位置,后者决定外部命令能否执行,两者同时出错时,错误现象(文件找不到 / 命令找不到)看起来一模一样,但根源完全不同。










