跳到主要内容
版本:2.10.x(Latest)

GoFrame 框架提供了功能强大的 gf 命令行开发辅助工具,是框架发展的一个重要组成部分,工具地址:

工具安装请参考仓库页面。工具安装成功后,可以通过 gf 或者 gf -h 查看所有支持的命令。复杂的命令可以通过 gf COMMAND -h 查看更详细的使用帮助信息,例如: gf gen -h

工具职责

  1. 简化工程开发,提高开发效率
  2. 支持框架工程设计规范准确落地

注意事项

  1. 部分命令需要您先安装好 Golang 基础的开发环境,环境安装具体请参考 环境安装 章节。
  2. 最新的 CLI 工具版本会随着最新的框架版本走。

配置支持

工具的所有命令均同时支持命令行及配置文件配置参数,以提高易用性。当给定命令行参数时优先读取命令行参数,如果命令行参数不存在时,自动读取配置文件中对应的参数名称。

配置文件路径优先查找当前目录下的 hack 目录( hack/config.yaml),其次按照框架默认的配置路径检索配置文件。框架默认的配置文件检索路径请参考章节: 配置管理-文件配置

配置文件的格式示例:

# GoFrame CLI tool configuration.
gfcli:
gen:
dao:
- link: "mysql:root:12345678@tcp(127.0.0.1:3306)/test"
tables: "user"
removePrefix: "gf_"
descriptionTag: true
noModelComment: true

docker:
build: "-a amd64 -s linux -p temp"
tagPrefixes:
- ccr.ccs.tencentyun.com/xxx
- hkccr.ccs.tencentyun.com/xxx
- sgccr.ccs.tencentyun.com/xxx

注意以上配置示例仅供参考,具体配置项请参考具体命令帮助。

工具调试

当在工具的使用中遇到问题时,可以尝试打开工具的调试模式获得更详细的工具执行日志信息,打开工具调试模式可以通过 debug 命令行选项开启,例如:

gf build main.go --debug

由于 gf 工具也是使用 GoFrame 框架开发,因此调试信息的开启也是同框架方式一致,更详细的介绍请参考框架介绍文档: 调试模式

命令总览

当前帮助文档以 gf cli v2.0.0 版本为例进行简单的介绍,详细的介绍信息请查看命令行帮助信息。本章内容信息可能会有滞后,最新的具体详细介绍请查看工具帮助信息。

$ gf
USAGE
gf COMMAND [OPTION]

COMMAND
env show current Golang environment variables
run running go codes with hot-compiled-like feature
gen automatically generate go files for dao/dto/entity/pb/pbentity...
init create and initialize an empty GoFrame project
pack packing any file/directory to a resource file, or a go file
build cross-building go project for lots of platforms
docker build docker image for current GoFrame project
install install gf binary to system (might need root/admin permission)
version show version information of current binary

OPTION
-y, --yes all yes for all command without prompt ask
-v, --version show version information of current binary
-d, --debug show internal detailed debugging information
-h, --help more information about this command

ADDITIONAL
Use "gf COMMAND -h" for details about a command.

相关文档

📄️ 工具安装-install

GoFrame框架命令行工具gf的安装指南,提供多种安装方式包括预编译二进制文件下载和通过go install命令安装。支持MacOS、Linux和Windows等多种操作系统,对于Mac/Linux系统提供一键快捷下载命令。install命令用于将gf工具安装到系统环境变量路径中,使用户可在任意目录下直接使用gf命令。文档详细说明了不同版本(v2/v1)的下载和安装方法,并提供了完整的安装示例和注意事项,包括MacOS zsh别名冲突的解决方案。

📄️ 版本查看-version

GoFrame命令行工具的版本信息查看命令,通过gf -v或gf version查看gf工具的详细版本信息。命令会显示多项关键信息:CLI工具本身的编译版本、当前项目go.mod中使用的GoFrame框架版本、Go编译器版本、Git提交版本和构建时间等。特别需要注意区分项目中引用的GoFrame版本与CLI工具编译时的GF版本,这两者可能不同。该命令对于排查版本兼容性问题和确认工具安装状态非常有用。

📄️ 框架升级-up

GoFrame框架提供的一键升级命令工具,从v2.3版本开始提供。通过gf up命令可以将项目中的GoFrame主框架和社区组件同时升级至最新版本,并且能够智能识别和自动修复版本升级过程中的不兼容代码变更。支持多种升级选项:单独升级框架版本、同时升级CLI工具、开启自动代码修复等。升级前建议git提交或备份代码,以便必要时回滚。该工具特别适合需要频繁更新框架版本的项目,能够大大简化版本迁移和升级流程。

📄️ 项目创建-init

GoFrame框架提供的项目初始化命令工具,通过gf init命令快速创建标准化的GoFrame项目脚手架。从v2版本开始,项目模板已内置于工具二进制文件中,创建速度极快。支持创建SingleRepo单仓项目、MonoRepo大仓项目和MonoRepoApp大仓子项目三种模式。同时支持从远程仓库拉取模板创建项目,包括Go模块和Git仓库子目录两种方式。提供交互式模式引导用户完成项目创建,支持自定义Go模块路径、版本选择、依赖升级等高级功能。生成的目录结构遵循框架推荐的代码分层设计规范,项目结构采用通用化设计,开发者可根据实际需求灵活调整。

📄️ 自动编译-run

GoFrame框架提供的自动编译运行命令工具,通过gf run命令实现类似热编译的开发体验。需要注意Golang本身不支持真正的热编译,gf run实际是通过监控项目go文件变化来自动触发重新编译和运行,从而避免手动停止、编译、启动的重复操作。工具会递归监控当前运行目录的所有go文件变化,支持自定义编译参数、运行参数、输出目录以及额外监控路径等配置,支持命令行和配置文件两种参数配置方式,显著提升本地开发调试效率。

📄️ 资源打包-pack

GoFrame框架提供的资源打包命令工具,通过gf pack命令将项目中的任意文件或目录(如静态资源、模板文件、配置文件等)打包成二进制资源文件或Go代码文件。打包后的资源文件可以嵌入到可执行文件中,实现单一可执行文件部署,无需另外携带资源文件。支持多源路径打包、自定义路径前缀、保留源路径等灵活配置,可与build命令结合实现打包和编译一步完成。该功能特别适用于需要将前端资源、配置文件嵌入后端服务的场景。