问题标签 [go-cobra]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
346 浏览

go - 如何从 make 命令 cobra 中获取 2 个标志

如何创建一个包含 2 个参数的 makefile?myapp 用 go 编写,使用 cobra cli。有一个接受 2 个参数(标志)的命令。

这行得通

在我的制作文件中,我有

所以在 CLI 中,当我尝试

不读入标志值我如何读入 2 个标志值,它似乎只读入 1 个标志值。

0 投票
1 回答
1032 浏览

go - 如何使用具有两个不同名称(短和长)的标志

我正在使用https://github.com/spf13/cobra来处理标志。

我希望我的 CLI 有两个名称的标志: -t--token.

我目前这样使用它:

但它会像这样打印我的标志:

我希望它是这样的:

我该怎么做?
我在谷歌上没有找到它,我试图搜索多个名称以获取一个标志但没有成功。

0 投票
1 回答
1954 浏览

go - 获取标志值失败

我使用https://github.com/spf13/cobra库 创建了一个小型 Go 应用程序。

我创建了一个新标志,-t或者--token,当我传递这个参数时,我希望应用程序打印它。

这就是我所做的:

但是当我这样运行应用程序时它不会打印它:

如何打印标志的值。

0 投票
2 回答
974 浏览

go - 如何使用 cobra 调用默认子命令?

使用 cobra,如果在没有特定操作(但参数)的情况下调用我的应用程序,我想运行默认命令:

但是,由于 root 命令没有所有参数,因此子命令失败,因为它现在显然知道子命令的参数:

相对于:

如何以编程方式实例化/调用子命令?

0 投票
2 回答
4205 浏览

go - VS Code 中除 main.go 之外的调试文件

我正在使用 VS 代码编辑器编写 CLI。我无法弄清楚如何调试代码部分。

我的目录结构是:

  1. 我在 login.go 中设置了断点,但是如果我在这个文件中运行“开始调试”,我会得到错误
  1. 我尝试在 main.go 中运行调试器,但调试器不会转到 login.go 文件,因为我没有明确编写test login
  1. main.go文件
  1. login.go文件
  1. settings.json
  1. launch.json

请指导我如何在调试模式下查看变量值,例如变量名。虽然使用 Println 很好,但是这个源代码是一个更大项目的一部分,所以我想看看如何使用调试器?

0 投票
0 回答
978 浏览

go - Golang - 从 COBRA 命令内部设置环境变量

在 vanilla go 中,设置环境变量似乎很简单。该os库具有Setenv应该完成工作的功能。我在 cobra 命令中遇到了麻烦。有没有我遗漏的简单方法,或者目前不支持此功能?

我正在尝试做的示例:

示例构建和测试脚本:

我希望输出看起来像这样(因为环境变量是在 go 代码的第 48 行设置的):

但目前它看起来像这样:

0 投票
0 回答
977 浏览

go - 配置文件和 Golang 或只是初学者的错误

我已经在 Go 中完成了一些教程,并想尝试一些更相关的东西,我很快就会需要这些东西。我从看毒蛇和眼镜蛇开始。我知道配置文件实际上是供 viper 使用的,而 cobra 只是用它来处理事情。然而,我坚持甚至超过了这一点。我可能会遇到更多错误,但我被困在这个错误上,我找到的任何帮助对帮助我的问题没有任何意义。所以我在 C/C++ 方面有不错的背景。从阅读中,和号和星号以类似的方式使用。这就是为什么我有这个问题。

这基本上是这里用于毒蛇和眼镜蛇的示例。 去眼镜蛇

问题是我收到这些错误。

我第一次打电话给这些,所以我不确定它们会有什么价值。如果这是一个非常简单的问题,我深表歉意。但是其中一些 Go 页面有点难以理解。

0 投票
1 回答
3560 浏览

go - 如何使用 Viper 访问“StringToStringVar”类型的 Cobra Flag?

我正在尝试在 Go 中开发一个应用程序,它接受命令行上的输入作为键值对字符串。为此,我StrngToStringVar从 Cobra 库中使用。

我还使用 Viper 将这些标志绑定到配置,但是无论我输入什么值,我似乎都无法从 Viper 获得它。

这是代码

如果我使用命令运行它,go run .\main.go --item shopping=apple,banana --name foobar我会得到以下结果

可以看出,即使我正确设置了输入(我相信),他的输出也不包含任何项目。我一直在尝试使用 PR https://github.com/spf13/pflag/pull/133来解决如何做到这一点,但我没有任何运气。

我想知道绑定是否不正确,但我已经在其他项目中成功使用了 CObra,所以我对如何引用map[string]string从 Cobra 生成的内容缺乏了解。

0 投票
3 回答
3143 浏览

go - 通用函数中的 Golang Cobra 命令标志未从 cli 获取值

我正在将我的 cobra 命令移动flags到一个函数中,以便可以在其他命令中使用它。我可以看到命令,但是当我输入标志时它总是返回false

以下是我的代码:

所以当我输入以下命令时

的标志值--ignore-latest应该是true,但我在args中得到false一个值。RunE我在这里错过了什么吗?

GetCommandFlags是我想在其他命令中使用它的东西,我不想重复相同的标志。

0 投票
1 回答
1051 浏览

go - Cobra cli 无法初始化新工具

我有一个 go 项目的空目录,只有go.mod存在(我已经运行了go mod init命令)

我希望以下命令:

将使用样板代码为该区域搭建脚手架,以便我开始创建我的 cli 工具。

相反,我收到以下错误消息:

为什么需要包名?

这不是责任的问题go modules吗?