goland在linux上需先系统级安装go并配置path、goproxy和go111module,新建项目必须勾选“initialize go mod”并设正确module path,否则会卡在“loading modules”或报错。

GoLand 在 Linux 上不是一键安装完就能直接写代码的,缺环境变量、没代理、不配 GOPATH 或 Go Modules,新建项目会卡在“Loading modules”或报 go: cannot find main module。
GoLand 启动前必须确认 Go 已系统级安装并生效
GoLand 依赖系统 PATH 中的 go 命令,它不会用自己的内置 Go。如果你只解压了 go 但没配置 PATH,或者只配了用户级 ~/.bashrc 而用桌面快捷方式启动 GoLand(该方式默认不加载 shell 配置),就会提示 “Cannot detect Go SDK” 或 “No SDKs found”。
- 终端里执行
which go必须返回路径(如/usr/local/go/bin/go);如果返回空,说明PATH没生效 - 检查是否用了
~/.bashrc配置:在终端运行source ~/.bashrc && go version,能输出版本才代表配置正确 - 桌面启动 GoLand 时,它默认不读
~/.bashrc;解决方法是改用终端启动:jetbrains-toolbox或直接/opt/GoLand-2026.2/bin/goland.sh - 如果坚持用图形快捷方式,需在
~/.profile或/etc/environment中设置PATH,确保被桌面会话加载
新建项目时选错初始化方式会导致模块无法识别
GoLand 创建新项目时,默认弹出 “New Project” 对话框,其中 “Project SDK” 下拉列表要能看见已安装的 Go 版本;但更关键的是右下角的 “Initialize go mod” 开关 —— 关掉它,新建的项目就只是空目录,go.mod 不会生成,后续 go run 或依赖管理全失效。
- 务必勾选 “Initialize go mod”,并填写正确的 Module path(如
example.com/myapp),不能留空或填本地路径(如/home/user/myapp) - 如果不小心跳过了,手动在项目根目录执行
go mod init example.com/myapp,然后重启 GoLand 索引 - 若已有
go.mod但 GoLand 仍标红 import,右键项目根目录 → “Reload project” 或点击右上角提示栏的 “Load changes” - GoLand 的自动补全和跳转依赖
gopls,首次打开项目会提示下载;若失败,手动执行go install golang.org/x/tools/gopls@latest并重启
代理和模块模式必须显式启用,否则依赖拉取失败
GoLand 本身不接管 go env 配置,所有网络行为(go get、go mod download)都走系统级 go 命令。国内环境下,不设 GOPROXY 就等于让 go 去连 proxy.golang.org,99% 情况下超时或 403。
- 终端执行
go env -w GOPROXY=https://goproxy.cn,direct,这是当前最稳定可用的国内镜像 - 同时确认模块已启用:
go env -w GO111MODULE=on(Go 1.16+ 默认开启,但某些旧安装可能关着) - 不要在 GoLand 设置里找“代理配置”入口——它没有全局代理开关;所有代理逻辑都在
go自身 - 如果项目里用了私有仓库(如 GitLab),需额外加
git config --global url."https://gitlab.example.com/".insteadOf "https://gitlab.example.com/"避免认证失败
最容易被忽略的是:GoLand 的 Terminal 标签页默认复用当前 shell 环境,但编辑器内部的 Run Configuration、Build Tools、Go Toolchain 设置却是独立缓存的。哪怕你改了 go env,也得点开 Settings → Go → GOROOT 和 GOPATH 重新指定,否则调试或构建仍可能用错路径。











