Go入门: Air配置热重载
前言
本章节适合 Golang 初学者,通过简单的项目实践来加深对 Golang 的基本语法和 Web 开发的理解。
参考文档:Air GO 官方文档
欢迎前往博主博客 torna.top 免费查阅
Air 简介
Air 是为 Go 应用开发设计的另外一个热重载的命令行工具。只需在你的项目根目录下输入
air
,然后把它放在一边,专注于你的代码即可。
Air
出现的根本原因:
使用Go
和gin
框架开发网站时,由于gin
缺乏实时重载功能,开发者不得不频繁使用go run main.go
命令运行项目,每次修改代码都需要重新启动项目,导致开发效率低下。注意:该工具与生产环境的热部署无关。
Air
特性:
- 彩色的日志输出
- 自定义构建或必要的命令
- 支持外部子目录
- 在 Air 启动之后,允许监听新创建的路径
- 更棒的构建过程
安装
1. 使用 go install
(推荐)
需要 go 1.22
或更高版本:
go install github.com/air-verse/air@latest
此方法最为便捷,但需要
go
环境变量GOPATH
已设置。
每日小技巧: go get
vs go install
特性 | go get | go install |
---|---|---|
用途 | - 下载和安装 Go 包和工具- 更新现有包和工具 | - 安装 Go 工具- 编译并安装 Go 包 |
主要功能 | - 从远程代码仓库获取包 - 将包添加到模块的依赖列表 - 更新包至最新版本 | - 编译并安装指定包 - 将编译后的二进制文件安装到 $GOPATH/bin 或模块所在目录 |
使用方式 | - go get [package] - go get -u [package] (更新包) | - go install [package] |
包管理 | - 更新或下载指定包及其依赖 - 可用于获取第三方库和工具 | - 针对当前模块或指定包进行安装 - 对包进行编译并安装到 $GOPATH/bin 或模块目录 |
安装位置 | - 安装到 $GOPATH/bin (Go 1.16 之前)- 在模块模式下,安装到 $GOPATH/bin 或模块目录 | - 安装到 $GOPATH/bin 或模块目录 |
模块支持 | - 支持 Go Modules (从 Go 1.11 起)- 可以在模块模式下使用 | - 支持 Go Modules (从 Go 1.16 起)- 安装指定的包或工具 |
常用场景 | - 获取新工具 - 更新现有工具和包 | - 安装工具到全局环境 - 编译当前项目并安装 |
示例 | - go get golang.org/x/tools/cmd/gopls - go get -u github.com/gin-gonic/gin | - go install golang.org/x/tools/cmd/gopls@latest - go install ./cmd/mytool |
2. 使用 install.sh
# binary 文件安装在 $(go env GOPATH)/bin/air
curl -sSfL https://raw.githubusercontent.com/air-verse/air/master/install.sh | sh -s -- -b $(go env GOPATH