一、下载包依赖 ?? ?go get -v github.com/spf13/cobra/cobra ?? ?注:命令很简单,可是在windows环境下各种问题,最终卡在(cannot find package "github.com/hashicorp/hcl/hcl/printer" in any of)这个问题上,去看了人家源码,压根没有hcl目录,无解了(其实是有的 ,不过是老版本)。 ?? ? ?? ?换到Ubuntu18上,下载,1分钟搞定。反过来,再去找上面这个hcl的包,确实有(github.com/hashicorp/hcl@v1.0.0/hcl/printer) ?? ? ?? ?自己到https://github.com/hashicorp/hcl/tree/v1.0.0下载对应版本即可, ?? ? ?? ?或者 ?? ? ?? ?go get github.com\hashicorp\hcl@v1.0.0 ?? ? ?? ?如果提示go: cannot use path@version syntax in GOPATH mode ?? ? ?? ?则export GO111MODULE=on 后,再次执行即可
二、初始化一个项目
1、创建一个目录,比如cobratest;
2、进入上述目录,执行 cobra init cobratest;
? ? ? ? 报错:Error: required flag(s) "pkg-name" not set
3、正确的命令应该是:cobra init --pkg-name cobratest
参考的一些文章:golang命令行库cobra的使用 - Go语言中文网 - Golang中文社区
Golang现代命令行应用框架Cobra_neweastsun的专栏-CSDN博客
|