go语言命令行库的安装与使用 -- cobra

2023-11-15


前言

看了许多cobra的安装与使用,许多博客是几年以前的,并不适用(cobra的git仓库更新了),于是决定还是自己写一篇博客给后面的人参考参考
写博客的时间:2022-07-22
使用goland进行配置的


一、go env的配置

博主使用的是目前最新版本的go : go1.18.4,

镜像源的设置 – GOPROXY

在命令行模式下使用命令
go env -w GOPROXY=https://goproxy.cn,direct
修改完即可

二、cobra的安装与cobra-cli的安装

有小伙伴肯定会好奇,为啥要安装两个,因为我看其他人的博客时发现,他们的教程都是只要安装一个就可以,但是我在实践过程中发现根本行不通,使用cobra init 是总会报错,于是我进cobra的git仓库看了一下,原来是因为cobra的仓库更新了,要安装cobra-cli 才能使用命令cobra-cli init初始化文件夹

1.cobra的安装

cobra的安装与其他库的安装一样,只需要使用命令
go get -u github.com/spf13/cobra@latest
进行安装即可。

1.测试是否安装成功

  1. 新建一个项目,项目名为CLI,(项目名可以修改,按自己的习惯来,博主建立的是CLI)
  2. 在项目文件夹中新建一个名为cmd的文件夹
  3. 在cmd文件夹中新建一个名为root的go文件
    文件中的内容为
/*

Copyright © 2022 NAME HERE <EMAIL ADDRESS>

*/
package cmd

import (
	"os"

	"github.com/spf13/cobra"
)



// rootCmd represents the base command when called without any subcommands
var rootCmd = &cobra.Command{
	Use:   "CLI",
	Short: "A brief description of your application",
	Long: `A longer description that spans multiple lines and likely contains
examples and usage of using your application. For example:

Cobra is a CLI library for Go that empowers applications.
This application is a tool to generate the needed files
to quickly create a Cobra application.`,
	// Uncomment the following line if your bare application
	// has an action associated with it:
	// Run: func(cmd *cobra.Command, args []string) { },
}

// Execute adds all child commands to the root command and sets flags appropriately.
// This is called by main.main(). It only needs to happen once to the rootCmd.
func Execute() {
	err := rootCmd.Execute()
	if err != nil {
		os.Exit(1)
	}
}

func init() {
	// Here you will define your flags and configuration settings.
	// Cobra supports persistent flags, which, if defined here,
	// will be global for your application.

	// rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.CLI.yaml)")

	// Cobra also supports local flags, which will only run
	// when this action is called directly.
	rootCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
}



  1. 新建一个名为main的go文件(由于博主的工程名为CLI 所以import 中的内容为CLI/cmd,可根据自己的项目名修改CLI为自己的项目名)
    文件内容为
/*
Copyright © 2022 NAME HERE <EMAIL ADDRESS>

*/
package main

import "CLI/cmd"

func main() {
	cmd.Execute()
}

  1. 在goland的终端中使用go mod tidy,添加需要用到但go.mod中查不到的模块。(这一步只要你导入cobra不报错就证明你安装包成功)
  2. 运行主函数,输出应该为
A longer description that spans multiple lines and likely contains
examples and usage of using your application. For example:

Cobra is a CLI library for Go that empowers applications.
This application is a tool to generate the needed files
to quickly create a Cobra application.

2.cobra-cli的安装

使用命令go install github.com/spf13/cobra-cli@latest
进行安装

cobra-cli的使用

  1. 新建一个项目,项目名自由发挥,我建立的是test
  2. 使用命令cobra-cli init,进行初始化,初始化后的项目结构应为
demo
├── cmd
│   └── root.go
├── go.mod
│   └── go.sum
├── LICENSE
└── main.go
  1. cobra-cli 的其他命令请进cobra-cli仓库自行查看
    地址为:https://github.com/spf13/cobra-cli/blob/main/README.md

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go语言命令行库的安装与使用 -- cobra 的相关文章

随机推荐

  • MySQL--实战总结

    1 将存在更新部分字段信息 不存在则执行插入合并为一个SQL 需要创建唯一索引 CREATE TABLE user id int 11 NOT NULL AUTO INCREMENT name varchar 255 DEFAULT NUL
  • #CSDN精选博文##学习必备##IT技术学习#系统化学习的第一步:建构自己的知识体系

    大家好 我是小C 全名是CSDN高校俱乐部 我的职责之一是担任 文章过滤器 精选大咖干货 助力学习之路 你是否曾面对海量信息而无从下手 你是否曾苦恼学习效果不佳 事倍功半 你是否曾感叹知识零碎而无法发挥用途 针对这些问题 小C将开启一个全新
  • 数值计算之 最小二乘法(3)最小二乘的矩阵解法

    数值计算之 最小二乘法 3 最小二乘的矩阵解法 前言 回顾最小二乘的线性解 列满秩矩阵的最小二乘解法 Cholesky分解求线性最小二乘解 QR分解求线性最小二乘解 亏秩矩阵的最小二乘解法 SVD分解求亏秩最小二乘解 补充1 超定齐次方程组
  • C++基础STL-deque容器

    双端数组 可以对头端进行插入删除操作 deque 容器和 vecotr 容器有很多相似之处 比如 deque 容器也擅长在序列尾部添加或删除元素 时间复杂度为O 1 而不擅长在序列中间添加或删除元素 deque 容器也可以根据需要修改自身的
  • esxi ssd磁盘IO,IOPS 速度过慢解决方法

    登录SSH 先查看一下加载的驱动 esxcli software vib list grep ahci sata ahci 3 0 26vmw 650 1 26 5969303 VMW VMwareCertified 2020 09 17
  • 全网最全HTML基础

    目录 1 HTML结构 2 HTML 文件基本结构 3 HTML常见标签 3 1注释标签 3 2标题标签 h1 h6 3 3 段落标签 p 3 4 换行标签 br 3 5格式化标签 3 6图片标签 img 3 8表格标签 3 9 合并单元格
  • 禁用 第三方cookie 之后,百度统计会发生什么?

    禁用 第三方cookie 之后 经过亲测 结论是 不一定 百度统计还是有可能知道你是谁的 但可能失准 本想研究一下百度统计是如何统计数据的 发现基本上是利用cookie 大致情况是这样的 名称 用途 有效期 类型 HMACCOUNT Vis
  • Python之sys模块详解

    sys模块 sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分 常见用法 sys argv 命令行参数List 第一个元素是程序本身路径 sys modules keys 返回所有已经导入的模块列表 sys exc
  • CAS5.3 服务器集成MySQL8数据库

    MySQL 相关准备 1 安装MySQL8 并安装相关数据库实例 省略一千字 2 新建ucas auth user表 并增加相关用户条记录 DROP TABLE IF EXISTS ucas auth user CREATE TABLE u
  • 解决tomcat安装配置后localhost 打不开

    为了这只丑猫能用的方法都用了 终于出来了 也不知道到底哪些是必须的 建议 1 检查端口8080是否被占用 被占用的话参照下方改端口 2 环境变量肯定是要配置的 3 如果以上不可以 那么什么方法都试试吧 前提 下载安装tomcat9和jdk
  • JAVA【设计模式】抽象工厂模式

    抽象工厂模式 一 定义 二 示例 传统硬编码方式 都在一个类里面实现 多重if else嵌套使用 抽象工厂模式 UML关系图 一 定义 抽象工厂模式 类似于动态代理对象的生成工厂 集中管理各个代理对象 使用代理对象解决实际业务场景 减少代码
  • Recall, Precision, AP, mAP的计算方法(看一次就懂系列)

    Recall Precision AP mAP的计算方法 看一次就懂系列 mAP全称是mean Average Precision 这里的Average Precision 是在不同recall下计算得到的 所以要知道什么是mAP 要先了解
  • Linux命令的详解

    配置ip 防火墙 setup linux查看ip ifconfig 重启网路 service network restart 查看文件 ls查看当前目录的文件内容 ll查看当前目录的详细内容 ll a a 表示查看全部内容 包括隐藏文件 测
  • 重试框架 Spring-Retry 和 Guava-Retry,你知道该怎么选吗?

    一 重试框架之Spring Retry Spring Retry 为 Spring 应用程序提供了声明性重试支持 它用于Spring批处理 Spring集成 Apache Hadoop 等等 它主要是针对可能抛出异常的一些调用操作 进行有策
  • mysql-8.0.11-win64安装教程

    1 下载mysql安装包 下载链接 https pan baidu com s 12eEZXxmBBEbpI5FXVaJ7bQ 提取码 t3j2 2 新建一个mysql文件夹 将压缩包解压到文件夹中 3 配置my ini文件 新建一个my
  • 小波滤波器与其他滤波器的区别_视界,输入滤波器常见的问题以及解决方法

    随着信息时代的进步与发展 输入滤波器应用范围也得到了广泛应用 它适用于数据处理系统 电信系统 电源 电梯行业 变频器及电源净化等需要强干扰抑制器设备中 在选择该产品的时候难免会遇到一些问题 下面是小编整理的有关输入滤波器的常见问题 以及处理
  • 题目 1162: 密码

    网上流传一句话 常在网上飘啊 哪能不挨刀啊 其实要想能安安心心地上网其实也不难 学点安全知识就可以 首先 我们就要设置一个安全的密码 那什么样的密码才叫安全的呢 一般来说一个比较安全的密码至少应该满足下面两个条件 1 密码长度大于等于8 且
  • SpringCloud Netflix Hystrix

    文章目录 一 Hystrix简介 1 什么是灾难性雪崩效应 2 什么是Hystrix 二 服务降级 Ribbon中 三 服务熔断 Ribbon中 服务降级的强化版 四 请求缓存 Ribbon中 不推荐 查询频率高 修改频率低时谨慎使用 五
  • syncthing数据同步应用-docker部署

    syncthing应用场景类似于rsync 在数据传输通道的两端都部署服务 再通过密钥验证的方式完成最终数据同步 而syncthing较之更加简单 因配备了Web UI 配置上难度降低了不少 相关资料 https syncthing net
  • go语言命令行库的安装与使用 -- cobra

    文章目录 前言 一 go env的配置 镜像源的设置 GOPROXY 二 cobra的安装与cobra cli的安装 1 cobra的安装 1 测试是否安装成功 2 cobra cli的安装 cobra cli的使用 前言 看了许多cobr