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.