问题标签 [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 - 如何将其他包中定义的标志合并到 cobra.flags 中?
中的一些定义sig.k8s.io/controller-runtime/pkg/client/config/config.go
:
我的项目,mybinary,与 cobra
如果我想使用mybinary --kubeconfig somevalue
来设置参数kubeconfig
定义,我需要做什么config.go
?
go - 无法使用 viper 解组
我一直在尝试通过解组我的 json 文件来提取一些 JSON,但是,我不知道为什么它没有发生。我能够使用viper.AllSettings()
但不能通过解组来获取数据。我认为我犯了一个愚蠢的错误,请分享您的想法。github链接是-https: //github.com/parthw/100-days-of-code/tree/main/golang/d6-cobra-viper-continued,代码如下。
main.go
在 cmd 目录中使用 cobra CLI 生成的代码:
输出:
JSON文件:
unit-testing - 如何对需要内部模拟的 Cobra CLI 命令进行单元测试?
我已经定义了以下 Cobra 子命令,我想测试使用 testify 的输出:
我可以用这样的东西测试实际输出:
但我缺少的是如何模拟 gRPC 客户端及其对getResult
. 有没有比在RunE
func 中创建新的 gRPC 客户端更好的方法来帮助模拟?截至目前,单元测试尝试连接到不存在的 gRPC 客户端并失败。
python - 使用 cobra 进行优化时出现 ContainerAlreadyContains 错误
我正在尝试使用 cobra 进行优化,为两种生物创建一个合作培养基。为此,我设置了约束和目标,就像文档中解释的那样。可悲的是,我的代码产生了一个 ContainerAlreadyContains 错误,我不知道它来自哪里;互联网搜索没有帮助。我理解我新定义的约束将被添加到模型中已经存在的约束中,或者如果影响相同的组件,它们可能会覆盖旧约束,或者这是不正确的?
我正在使用另外两个模型,但使用下面发布的代码设法与 cobra 测试模型产生了相同的错误。使用 python 3.7.0 和 cobra 0.19.0。希望有人可以帮助我;无论如何,谢谢!
python - 是否可以在 cobra 编译器中启动 python 代码
所以我在 python 中有这段代码,但它不会运行,因为数字太大,python 无法处理,我发现 Cobra 这样的东西运行得更快,几乎和 C++ 一样,可以处理这样的任务。我已经尝试自己重写代码,但我不断收到编译错误,我正在在线编译器tio.run上编译
这是原始代码:
这是我根据我对互联网上 python 和 cobra 之间差异的研究,尝试重写它所取得的成果,这非常糟糕。
go - 如何在 Cobra 的子命令上调用 SetOut()?
我正在尝试测试用 Cobra 编写的 CLI 应用程序,特别是测试子命令是否正确写入 STDOUT。为此,我尝试将输出从 STDOUT 重定向到我的缓冲区。不幸的是,无论出于何种原因,SetOut() 函数在通过调用 Commands() 获得的子命令上的行为都不像预期的那样。
如何在 Cobra 的子命令上正确调用 SetOut()?
这是我的代码:
这是测试输出:
go - Cobra:在不使用包全局变量的情况下为子命令提供上下文?
我使用cobra和viper编写了一个简单的 CLI 工具。我最近一直在重构它以避免包全局变量,主要是因为使用 eg 建议的布局很难测试cobra init
。
代替...
我有更多类似的东西:
这实际上效果很好,并且使测试从一组干净的 cli 选项开始变得更加容易。我在将 Viper 集成到新方案中时遇到了一些困难。如果我只关心 root 命令,我可以在PersistentPreRun
命令中进行设置,如下所示:
这种工作方式:只要我只对与 Cobra 命令行选项相对应的配置选项感兴趣,事情就会按预期工作。但是如果我想访问config
变量本身呢?
我不确定如何config
在方法之外公开变量
initConfig
而不将其转换为全局包。我想要实例化多个命令树的可能性,每个命令树都有自己独立的 Viper 配置对象,但我不清楚把它放在哪里。
matlab - 在 MATLAB 中使用 FastGapFill 的正确方法是什么?
我是 MATLAB 环境的新手,一直在尝试构建代谢模型。为此,我需要使用 FastGapFill 在我的网络中查找间隙。
我曾经model = readCbModel(path)
阅读过模型并运行了这行代码:
我得到这个输出:
我找不到这个 KEGGMatrix。
如果您能告诉我使用 FastGapFill 的正确方法,我将不胜感激
go - 如何使用 cobra 实现多个选项
我试试这个:
projCmd.Flags().StringVarP(&flag, "type", "t", flag, "help")
但是,如何使用 cobra 实现多个选项,如下所示:
mycli new -t one -n two
go - 将 pflags.Flag.Value 转换为任意类型
我github.com/spf13/cobra
用来解析命令行标志,我所做的几乎所有事情都运行良好,但我无法弄清楚如何*cobra.Command
在运行时从 a 中获取特定类型的值。
我的命令定义如下所示cmd/generate.go
:
注意:我知道有用于将这些绑定到静态变量的 API,如果可能的话,我会尽量避免这样做,以将内容包含在 Cobra 中。
在内部generateTokenCommand.Run
,例如我的入口点,我无法从cobra.Command
.
当我需要获取字符串值时,我可以简单地:
pflags.Flag
有一个名为 的字段Value
,其类型为pflags.Value
,如下所示:
如果我进入调试器并像这样获取值:
我看到 this 的运行时类型是*github.com/spf13/pflag.uint64Value
,但由于这是私有类型,我似乎无法转换该值:
我怎样才能转换或使用其他方法来解决这个Value
问题uint64
?