Cobra cli 无法初始化新工具
Cobra cli fails to initialise new tool
我有一个带有 go 项目的空目录,只有 go.mod
存在(我有 运行 go mod init
命令)
▶ cat go.mod
module github.com/myorganization/mytool
go 1.13
我希望执行以下命令:
▶ ~/go/bin/cobra init mytool
将使用样板代码构建该区域,以便我开始创建我的 cli 工具。
相反,我收到以下错误消息:
▶ ~/go/bin/cobra init mytool
Error: required flag(s) "pkg-name" not set
Usage:
cobra init [name] [flags]
Aliases:
init, initialize, initialise, create
Flags:
-h, --help help for init
--pkg-name string fully qualified pkg name
Global Flags:
-a, --author string author name for copyright attribution (default "YOUR NAME")
--config string config file (default is $HOME/.cobra.yaml)
-l, --license string name of license for the project
--viper use Viper for configuration (default true)
为什么需要包名?
这不是go modules
负责的问题吗?
对于模块,包名称是必需的。见 cobra readme.
我有一个带有 go 项目的空目录,只有 go.mod
存在(我有 运行 go mod init
命令)
▶ cat go.mod
module github.com/myorganization/mytool
go 1.13
我希望执行以下命令:
▶ ~/go/bin/cobra init mytool
将使用样板代码构建该区域,以便我开始创建我的 cli 工具。
相反,我收到以下错误消息:
▶ ~/go/bin/cobra init mytool
Error: required flag(s) "pkg-name" not set
Usage:
cobra init [name] [flags]
Aliases:
init, initialize, initialise, create
Flags:
-h, --help help for init
--pkg-name string fully qualified pkg name
Global Flags:
-a, --author string author name for copyright attribution (default "YOUR NAME")
--config string config file (default is $HOME/.cobra.yaml)
-l, --license string name of license for the project
--viper use Viper for configuration (default true)
为什么需要包名?
这不是go modules
负责的问题吗?
对于模块,包名称是必需的。见 cobra readme.