Goframe开发工具gf的编译方法

34   /   0   /   0   /   0   /   发布于 1年前
#### 这里主要说明自行编译的方法 --- * [点击下载源码](https://github.com/gogf/gf) ,这里最好放在 `~/go/src/github/`下,方便导入。 * 根据自己的需要修改数据库依赖,文件/cmd/gf/internal/cmd/cmd\_gen\_dao.go的import。sqlite 和oracle 的驱动需要安装cgo环境。 * 进入到gf cli的源码目录/cmd/gf 编译 `# go build main.go`或者 `gf build main.go` **这里说明几个需要注意的事项:** 1. 编译的时候最好使用以前编译的gf编译,用 `go build`不能写入gf的信息 ``` GoFrame CLI Tool v2.1.4, https://goframe.org GoFrame Version: v2.1.0 in current go.mod CLI Installed At: /home/xjc/go/src/github.com/gogf/gf/cmd/gf/gf Current is a custom installed version, no installation information. ``` 用 `gf build`就有编译信息了 ``` GoFrame CLI Tool v2.1.4, https://goframe.org GoFrame Version: v2.1.0 in current go.mod CLI Installed At: /usr/bin/gf CLI Built Detail: Go Version: go1.19.1 GF Version: v2.1.4 Git Commit: none Build Time: 2022-09-20 10:24:57 ``` 这里的Git Commit没有内容,主要是懒得去加。 Git Commit怎么用go语言取值没有去找,比较直接的方法是修改这个文件 `github.com/gogf/gf/cmd/gf/internal/cmd/cmd_version.go` ``` if info.Git == "" { info.Git = "none" } ``` 意思是如果这个值为空,就为none,最直接的就是把none改为Git Commit的值。 --- 2. 如果使用sqlite和oracle数据库,必需使用cgo环境编译。 `# CGO_ENABLED=1 go build main.go` --- 3. 涉及gf编译的文件有以下几个: ``` github.com/gogf/gf/cmd/gf/internal/cmd/cmd_gen_dao.go github.com/gogf/gf/cmd/gf/internal/cmd/cmd_version.go github.com/gogf/gf/os/gbuild/gbuild.go ```
  • 共 0 条回复
  • 需要登录 后方可回复, 如果你还没有账号请点击这里注册
梦初醒 茅塞开
  • 不经他人苦,莫劝他人善。
  • 能量足,心态稳,温和坚定可以忍。
  • 辛苦决定不了收入,真正决定收入的只有一个,就是不可替代性。
  • 要么忙于生存,要么赶紧去死!
  • 内心强大到混蛋,比什么都好!
  • 规范流程比制定制度更重要!
  • 立志需要高远,但不能急功近利;
    行动需要迅速,却不可贪图速成。
  • 不要强求人品,要设计高效的机制。
  • 你弱的时候,身边都是鸡零狗碎;
    你强的时候,身边都是风和日丽。
  • 机制比人品更可靠,契约比感情更可靠。
  • 合作不意味着没有冲突,却是控制冲突的最好方法。
  • 误解是人生常态,理解本是稀缺的例外。
  • 成功和不成功之间,只差一次坚持!
  • 祁连卧北雪,大漠壮雄关。
  • 利益顺序,过程公开,机会均等,付出回报。