问题标签 [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.
go - 如何从 make 命令 cobra 中获取 2 个标志
如何创建一个包含 2 个参数的 makefile?myapp 用 go 编写,使用 cobra cli。有一个接受 2 个参数(标志)的命令。
这行得通
在我的制作文件中,我有
所以在 CLI 中,当我尝试
不读入标志值我如何读入 2 个标志值,它似乎只读入 1 个标志值。
go - 如何使用具有两个不同名称(短和长)的标志
我正在使用https://github.com/spf13/cobra来处理标志。
我希望我的 CLI 有两个名称的标志: -t
或--token
.
我目前这样使用它:
但它会像这样打印我的标志:
我希望它是这样的:
我该怎么做?
我在谷歌上没有找到它,我试图搜索多个名称以获取一个标志但没有成功。
go - 获取标志值失败
我使用https://github.com/spf13/cobra库 创建了一个小型 Go 应用程序。
我创建了一个新标志,-t
或者--token
,当我传递这个参数时,我希望应用程序打印它。
这就是我所做的:
但是当我这样运行应用程序时它不会打印它:
如何打印标志的值。
go - 如何使用 cobra 调用默认子命令?
使用 cobra,如果在没有特定操作(但参数)的情况下调用我的应用程序,我想运行默认命令:
但是,由于 root 命令没有所有参数,因此子命令失败,因为它现在显然知道子命令的参数:
相对于:
如何以编程方式实例化/调用子命令?
go - VS Code 中除 main.go 之外的调试文件
我正在使用 VS 代码编辑器编写 CLI。我无法弄清楚如何调试代码部分。
我的目录结构是:
- 我在 login.go 中设置了断点,但是如果我在这个文件中运行“开始调试”,我会得到错误
- 我尝试在 main.go 中运行调试器,但调试器不会转到 login.go 文件,因为我没有明确编写
test login
main.go
文件
login.go
文件
settings.json
launch.json
请指导我如何在调试模式下查看变量值,例如变量名。虽然使用 Println 很好,但是这个源代码是一个更大项目的一部分,所以我想看看如何使用调试器?
go - Golang - 从 COBRA 命令内部设置环境变量
在 vanilla go 中,设置环境变量似乎很简单。该os
库具有Setenv
应该完成工作的功能。我在 cobra 命令中遇到了麻烦。有没有我遗漏的简单方法,或者目前不支持此功能?
我正在尝试做的示例:
示例构建和测试脚本:
我希望输出看起来像这样(因为环境变量是在 go 代码的第 48 行设置的):
但目前它看起来像这样:
go - 配置文件和 Golang 或只是初学者的错误
我已经在 Go 中完成了一些教程,并想尝试一些更相关的东西,我很快就会需要这些东西。我从看毒蛇和眼镜蛇开始。我知道配置文件实际上是供 viper 使用的,而 cobra 只是用它来处理事情。然而,我坚持甚至超过了这一点。我可能会遇到更多错误,但我被困在这个错误上,我找到的任何帮助对帮助我的问题没有任何意义。所以我在 C/C++ 方面有不错的背景。从阅读中,和号和星号以类似的方式使用。这就是为什么我有这个问题。
这基本上是这里用于毒蛇和眼镜蛇的示例。 去眼镜蛇
问题是我收到这些错误。
我第一次打电话给这些,所以我不确定它们会有什么价值。如果这是一个非常简单的问题,我深表歉意。但是其中一些 Go 页面有点难以理解。
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 生成的内容缺乏了解。
go - 通用函数中的 Golang Cobra 命令标志未从 cli 获取值
我正在将我的 cobra 命令移动flags
到一个函数中,以便可以在其他命令中使用它。我可以看到命令,但是当我输入标志时它总是返回false
。
以下是我的代码:
所以当我输入以下命令时
的标志值--ignore-latest
应该是true
,但我在args中得到false
一个值。RunE
我在这里错过了什么吗?
GetCommandFlags
是我想在其他命令中使用它的东西,我不想重复相同的标志。
go - Cobra cli 无法初始化新工具
我有一个 go 项目的空目录,只有go.mod
存在(我已经运行了go mod init
命令)
我希望以下命令:
将使用样板代码为该区域搭建脚手架,以便我开始创建我的 cli 工具。
相反,我收到以下错误消息:
为什么需要包名?
这不是责任的问题go modules
吗?