当前位置: 首页 > news >正文

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 添加到系统的环境变量中。

步骤如下:

  1. 打开“系统属性” → “环境变量”;

  2. 找到“系统变量” → “Path”,点击“编辑”;

  3. 点击“新建”,输入:

    C:\Users\<你的用户名>\go\bin
  4. 保存后重新打开终端,执行:

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 生成配置或监听的文件后缀被包含
多模块或子模块工程设置 rootbuild 路径为正确的子模块目录


✅ 总结

操作命令
安装 Airgo install github.com/cosmtrek/air@latest
初始化配置air init
启动 Air 热重载air
配置文件.air.toml
http://www.dtcms.com/a/286390.html

相关文章:

  • 深入理解 Spring:事务管理与事件机制全解析
  • 域名WHOIS信息查询免费API使用指南
  • 【CF】⭐Day104——Codeforces Round 840 (Div. 2) CE (思维 + 分类讨论 | 思维 + 图论 + DP)
  • 【LVGL】Linux LVGL程序几十分钟后UI卡死
  • ubuntu 安装zabbix6 agent2
  • AI进入自动驾驶时代:OpenAI发布革命性ChatGPT Agent
  • 生成式引擎优化(GEO)核心解析:下一代搜索技术的演进与落地策略
  • OpenAI最强ChatGPT智能体发布:技术突破与应用前景分析
  • 脉冲神经网络(Spiking Neural Network, SNN)与知识蒸馏(Knowledge Distillation, KD)
  • 有好内容,如何做好知识变现?
  • BIST会对锁步核做什么?
  • 深入了解直播美颜SDK:GPU加速下的美白滤镜功能实现?
  • 解决 IDEA 中 XML 文件的 “URI is not registered” 报错
  • html5+css3+canvas纯前端4字方形LOGO生成器
  • 【C# in .NET】17. 探秘类成员-构造函数与析构函数:对象生命周期管理
  • Beagle 480 USB分析仪
  • 差分数组算法
  • 柴油机活塞cad【4张】三维图+设计说明书
  • ollma dify 搭建合同审查助手
  • RabbitMQ—TTL、死信队列、延迟队列
  • ChatGPT Agent技术架构探析
  • 读书笔记(学会说话)
  • 变频器实习总结3 ISU单元 船舶电力系统
  • 锁步核,为什么叫锁步核?
  • jar命令提取 JAR 文件
  • AI 驱动的仪表板:从愿景到 Kibana
  • MySQL之SQL 优化全攻略:从原理到实战
  • 2025年华为认证之HCIE-云计算方向的报考流程
  • STM32之TB6612电机驱动模块
  • Oracle 11g RAC 高可用集群部署最佳实践