Go 的热重载工具 Air 详解
🧰 一、Air 安装
1. 安装 Air 命令
打开终端(PowerShell 或 CMD)输入:
go install github.com/air-verse/air@latest
这会将 air.exe
安装到你的 Go bin 目录下,一般是:
C:\Users\<你的用户名>\go\bin
2. 设置系统 PATH 环境变量(如果还没有)
将 C:\Users\<用户名>\go\bin
添加到系统的环境变量中。
步骤如下:
打开“系统属性” → “环境变量”;
找到“系统变量” → “Path”,点击“编辑”;
点击“新建”,输入:
C:\Users\<你的用户名>\go\bin
保存后重新打开终端,执行:
air -v
如果看到版本信息,说明安装成功 ✅。
🚀 二、快速使用
1. 初始化项目配置(可选)
在项目根目录执行:
air init
会生成 .air.toml
配置文件(可手动修改)。
2. 启动 Air 热加载
air
默认监控当前目录下的
.go
文件变动,自动编译并运行。
🧾 三、.air.toml
配置详解
生成后的 .air.toml
大致如下:
# 项目根目录
root = "."# 监听哪些目录(默认是当前目录及其子目录)
include_ext = ["go", "tpl", "tmpl", "html"]# 排除某些目录或文件
exclude_dir = ["vendor", "testdata", "logs"]# 运行的主程序入口文件
cmd = "main.go"# 构建后的二进制文件名称
bin = "tmp/main"# 构建和运行的日志颜色开关
color = "auto"# 输出详细调试日志
log = "info"# 代码发生变化时自动构建和运行
run_on_start = true
你可以自定义构建指令,比如:
# build命令
build = "go build -o ./tmp/main main.go"# 执行命令
cmd = "./tmp/main"
📂 四、与Gin框架配合使用
Gin 是一个常见的 Go Web 框架,Air 能很好配合使用:
示例 main.go
package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default()r.GET("/ping", func(c *gin.Context) {c.JSON(200, gin.H{"message": "pong"})})r.Run(":8080")
}
启动 Air 后,每次修改代码保存,Air
会自动重启服务,立即生效。
🧪 五、常见问题
问题 | 解决方法 |
---|---|
air: command not found | 没有将 $GOPATH/bin 加入 PATH 或没有正确安装 |
文件更改后无反应 | 确保使用了 air init 生成配置或监听的文件后缀被包含 |
多模块或子模块工程 | 设置 root 和 build 路径为正确的子模块目录 |
✅ 总结
操作 | 命令 |
---|---|
安装 Air | go install github.com/cosmtrek/air@latest |
初始化配置 | air init |
启动 Air 热重载 | air |
配置文件 | .air.toml |