使用 go 开发一个命令行工具
自己工作中经常用到的 go 开发命令行工具,以下涉及的 nx-cli
为示例项目名
01 安装 cobra cli
这是一个全局的,如果已经安装,可以跳过
# 测试是否已经安装
$ cobra-cli -h
# 如果未安装,执行下面
go install github.com/spf13/cobra-cli@latest
02 初始化项目
初始化项目,并添加相应的子命令
# 初始化项目
go mod init nx-cli
# 初始化 cli 文件列表
cobra-cli init .
# 添加子命令<我的项目中目前不需要>
cobra-cli add mp3
03 开发调试
如果是在开发阶段,可以按如下方式
# 主命令
go run main.go
# 子命令
go run main.go mp3
04 编译打包相关
生成
cli
的相关命令
{
"name": "nx-cli",
"version": "1.0.0",
"private": true,
"license": "MIT",
"scripts": {
"start": "go run main.go",
"build": "go build -o dist/your-cli main.go",
"bin:link": "ln -s $(pwd)/dist/your-cli /usr/local/bin/your-cli",
"bin:unlink": "rm /usr/local/bin/your-cli"
}
}