go run报错找不到模块说明Go Modules未启用或go.mod缺失,需在项目根目录执行go mod init初始化模块,且必须在含go.mod的目录下运行go run。

go version 能跑通,但 go run 报错找不到模块
说明 Go Modules 没启用或 go.mod 缺失,不是环境没装好,而是项目没初始化。
- 在项目根目录执行
go mod init your-module-name(模块名建议用域名格式,如example.com/myapi) - 如果已有
go.mod但报错cannot find module providing package,检查当前路径是否在模块根目录下 ——go run必须在含go.mod的目录里执行 - Windows 用户注意:路径含中文、空格或符号(如
C:\Users\张三\go\myapp)会导致某些工具链异常,建议用纯英文路径,如C:\work\myapi
Gin 启动后 localhost:8080 访问超时或连接被拒绝
常见于防火墙拦截、端口被占,或代码根本没运行起来 —— 不是框架问题,而是进程未监听成功。
- 先确认程序是否真在运行:终端里看有没有
Listening and serving HTTP on :8080这类输出;没输出就说明r.Run()前有 panic,加log.Fatal(r.Run())可捕获错误 - 检查端口占用:
netstat -ano | findstr :8080(Windows)或lsof -i :8080(macOS/Linux),杀掉冲突进程 - Gin 默认只监听
localhost,若想局域网访问,改用r.Run("0.0.0.0:8080"),但别在公网暴露
GoLand 里点运行按钮没反应,或提示 “Cannot find go executable”
IDE 没找到 go 命令,不是 Go 没装,而是 GoLand 没读到系统 PATH 或 GOROOT 配置错误。
- 打开
Settings → Go → GOROOT,手动指向 Go 安装路径(Windows 通常是C:\Program Files\Go,macOS 是/usr/local/go) - 不要依赖“自动检测”,尤其 macOS M1/M2 用户,
go可能装在/opt/homebrew/bin/go,但 GoLand 默认只查/usr/local/go - 验证方式:在 GoLand 终端(底部 Terminal 标签页)里直接敲
go version,能输出才说明路径对了
Air 热重载启动失败,报错 “exec: ‘air’: not found”
air 是独立二进制,不是 go get 装完就能用 —— 它得进 $GOBIN 或系统 PATH 才能被调用。
立即学习“go语言免费学习笔记(深入)”;
- 安装命令必须带
-u -v:go install github.com/cosmtrek/air@latest(Go 1.16+ 推荐方式) - 装完后运行
air -v测试,如果提示 command not found,说明$GOBIN没加进系统 PATH —— 检查go env GOBIN输出,并确保该路径已加入 shell 的PATH - Air 默认监听
.go和.tmpl文件,若你改了main.go没触发重启,检查项目根目录是否有.air.toml,里面tmp_dir路径不能含中文或空格
pwd / cd 确认位置,再用 go env 看实际生效的配置,比盲目重装快得多。


















