Repolode
air-verse

air-verse/air

一款命令行工具,监听 Go 源码变化并自动重新编译、重启应用,用于本地开发。

Star
24,088
Fork
928
未关闭 Issue
14
最近提交
2个月前

这是什么?

Air 是一个用于 Go 应用开发的实时重载命令行工具。在项目根目录运行 `air` 后,源文件一有修改就会自动重新编译并重启程序,无需手动停止和再次启动。它只服务于本地开发,与生产环境的热部署无关。

行为可通过 `air init` 生成的 .air.toml 配置文件或命令行参数控制,包括自定义构建和运行命令、排除目录、运行中监听新增目录、加载 .env 文件,以及向编译后的程序传递参数。规则功能允许在文件变化时执行任意命令(如前端构建或 templ 等代码生成工具),而不必整体重新编译。可选的代理功能会在 HTML 响应中注入脚本,使浏览器在每次重新构建后自动刷新。

Air 支持通过 go install、Homebrew、Scoop、mise、安装脚本或 Docker 镜像安装,项目也可以用 `go get -tool` 将其固定为项目依赖。

核心功能

  • 01文件变化时自动重新编译并重启 Go 应用
  • 02通过 .air.toml 或命令行参数自定义构建和运行命令
  • 03支持排除子目录,并可监听运行期间新建的目录
  • 04监听规则可为静态资源或代码生成执行自定义命令
  • 05可选代理在每次重新构建后自动刷新浏览器
  • 06构建和运行前加载 .env 环境变量文件

适用场景

  • 开发基于 gin 等框架的 Go Web 服务,保存代码后自动重启
  • 在 Go 应用开发时同步执行前端构建或 templ、go generate 等代码生成步骤
  • 在 Docker 容器中挂载项目目录,实现容器内的实时重载

快速上手

  1. 1

    使用 go install 安装 Air(需要 Go 1.25 或更高版本)

    go install github.com/air-verse/air@latest
  2. 2

    将 Go bin 目录加入 PATH

    export PATH="$PATH:$(go env GOPATH)/bin"
  3. 3

    进入项目目录并运行 air

    air

使用前须知

  • README 明确说明 Air 仅用于开发环境,与生产环境热部署无关。
  • 采用 GPL-3.0 许可证,这是一种 copyleft 许可证,衍生作品的分发需要开源。

标签

常见问题

air 是什么?
一款命令行工具,监听 Go 源码变化并自动重新编译、重启应用,用于本地开发。 Air 是一个用于 Go 应用开发的实时重载命令行工具。在项目根目录运行 `air` 后,源文件一有修改就会自动重新编译并重启程序,无需手动停止和再次启动。它只服务于本地开发,与生产环境的热部署无关。
air 可以免费使用吗?用的什么许可证?
air 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
air 还在维护吗?
半年内有更新。air 最近一次提交是在 2026年8月27日。
air 适合用来做什么?
开发基于 gin 等框架的 Go Web 服务,保存代码后自动重启 在 Go 应用开发时同步执行前端构建或 templ、go generate 等代码生成步骤 在 Docker 容器中挂载项目目录,实现容器内的实时重载
air 怎么安装和运行?
使用 go install 安装 Air(需要 Go 1.25 或更高版本): go install github.com/air-verse/air@latest 将 Go bin 目录加入 PATH: export PATH="$PATH:$(go env GOPATH)/bin" 进入项目目录并运行 air: air
在哪里获取 air?
源代码和安装说明在 GitHub 上:https://github.com/air-verse/air

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目