我在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。