前言:
Golang服务器热重载、热重启、热升级、热更新~
作用——实时监听项目的代码文件,在代码发生变化之后会重新编译执行,这样就可以提高开发的效率。
一、使用Air进行热重载
## 安装
有好几种安装方法:
1. ### 经典安装
2. ### macOS, Linux, Windows
3. ### docker
例子:
## 使用
1. 进入你的项目目录: `cd /path/to/your_project`
2. 然后使用命令:`air -c .air.conf`
.air.conf 是一个配置文件,这个配置文件的示例可以在这里找到:[air_example.toml],它是一个 toml 格式文件。
具体操作:
1.新建文件 .air.conf
2.把 [air_example.toml]中的内容复制到 .air.conf 文件里,然后根据你的需求修改配置内容
3.如果你的文件名跟我一样是 .air.conf ,那么直接执行 air 命令就可以了,如果不是,那么运行命令:air -c your_file_name
二、使用gowatch进行热重载
Go 程序热编译工具,通过监听当前目录下的相关文件变动,进行实时编译。
##安装
##使用
安装完成后可以直接使用 gowatch 命令,命令行参数如下:
- -o : 非必须,指定 build 的目标文件路径
- -p : 非必须,指定需要 build 的 package(也可以是单个文件)
- -args: 非必须,指定程序运行时参数,例如:-args=’-host=:8080,-name=demo’
- -v: 非必须,显示 gowatch 版本信息
gowatch.ymlgowatchgowatch.yml三、使用fresh进行热重载
Fresh 是一个命令行工具,每次保存 Go 或模版文件时,该工具都会生成或重新启动 Web 应用程序。Fresh 将监视文件事件,并且每次创建 / 修改 / 删除文件时,Fresh 都会生成并重新启动应用程序。如果 go build 返回错误,它会将记录在 tmp 文件夹中。
##安装
##使用
fresh
# 项目目录gin-blog下执行
➜ fresh
gowatch
# 项目目录gin-blog-apis下执行
➜ go build # 会生成一个gin-blog可执行文件
➜ gowatch gin-blog
以上不管哪一种,在安装完执行fresh或者gowatch时,会报commond not foud错误,需要将命令添加到环境变量中,即可使用。小编这里采用的是添加全部变量中。(以后创建新的项目,不需要再次go get http://github.com/silenceper/gowatch 直接在项目下使用即可)
➜ sduo vim ~/.zshrc
➜ export PATH=${PATH}:/Users/cc/gopath/bin #写到~/.zshrc文件中 /Users/cc/gopath为你的gopath路径
➜ source ~/.zshrc