Air
Air 是一个用于 Go 项目开发的实时重载工具。它可以监控文件变动,并在代码修改后自动重新编译和运行项目,从而提升开发效率。以下是关于 Air 的详细介绍和使用说明。
安装 Air
1. 使用 Homebrew (MacOS/Linux)
bash
brew install air2. 使用 Go 安装
确保安装了 Go 环境后,运行以下命令:
bash
go install github.com/cosmtrek/air@latest安装后,air 的可执行文件会位于 $GOPATH/bin 中。如果未添加到环境变量,请手动更新 PATH:
bash
export PATH=$PATH:$(go env GOPATH)/bin初始化配置
在项目根目录运行以下命令生成配置文件:
bash
air init生成的 .air.toml 文件示例:
toml
# 项目名称
app_name = "myapp"
# 工作目录
working_dir = "."
# 主文件名
bin = "main"
# 日志颜色
color = "true"
# 构建命令
build = "go build -o ./tmp/main"
# 运行命令
cmd = "./tmp/main"
# 包含的文件
include_ext = ["go", "tpl", "tmpl", "html"]
# 忽略的目录
exclude_dir = ["tmp", "vendor"]
# 是否支持热重载
reload = "true"
# 监控间隔 (毫秒)
interval = 500可以根据需求修改 .air.toml 文件。
运行项目
在项目根目录运行:
bashair如果
.air.toml配置正确,Air会监控项目的源码文件。当检测到文件更改时,Air会自动重新编译和运行项目。
常见用法
排除目录
如果项目中有需要排除的目录(如测试、静态资源),可以在exclude_dir配置中添加:tomlexclude_dir = ["vendor", "static", "test"]指定监听的文件类型
修改include_ext以监听特定文件类型:tomlinclude_ext = ["go", "yaml", "json"]自定义构建和运行命令
如果需要在构建前执行自定义脚本,可以修改build和cmd:tomlbuild = "go build -o ./bin/myapp" cmd = "./bin/myapp"
示例
假设有一个简单的 Go 项目,目录结构如下:
myapp/
├── main.go
├── config/
│ └── config.go
├── .air.toml运行 air 后:
- 修改
main.go或config/config.go文件。 Air自动监测到更改,重新编译并运行项目。
问题排查
找不到
air命令
确保Air安装在$GOPATH/bin中,并将其路径添加到PATH环境变量。配置文件不起作用
确保.air.toml文件位于项目根目录,并正确配置working_dir和include_ext。热重载失败
检查是否在.air.toml中启用了reload = "true"。
总结
Air 是一个轻量级、易用的开发工具,适用于任何 Go 项目,能极大提升开发效率。如果需要进一步自定义或扩展,可以根据项目需求调整配置文件。