Cobra init 不起作用,:找不到命令

her*_*ken 11 linux go go-cobra

我正在遵循本指南

***@pop-os:~/go/src/foo$ cobra init --pkg-name foo
Command 'cobra' not found, but can be installed with:
sudo apt install cobra
Run Code Online (Sandbox Code Playgroud)

我的设置:

我已经安装了 go 1.16

$ go version 
go version go1.16.3 linux/amd64
Run Code Online (Sandbox Code Playgroud)

我的 $GOPATH 设置为 ~/go

$ go env
...
GOPATH="/home/***/go"
Run Code Online (Sandbox Code Playgroud)

我做了什么:我使用了命令

$ go get -u github.com/spf13/cobra/cobra
Run Code Online (Sandbox Code Playgroud)

在我的垃圾箱目录中,我现在找到了 cobra

***@pop-os:~/go/bin$ ls
cobra
...
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Jak*_*kub 25

使用

go mod init <MODNAME>
~/go/bin/cobra-cli init
Run Code Online (Sandbox Code Playgroud)

或者继续阅读以了解如何使该cobra-cli命令在命令行上可用。

这似乎是一个$PATH配置问题。由于cobra-cli未找到该命令,因此路径~/go/bin不是$PATH变量的一部分。可以像这样添加路径:

go mod init <MODNAME>
~/go/bin/cobra-cli init
Run Code Online (Sandbox Code Playgroud)

然后cobra-cli在命令行中使用该命令。人们可以将该export ...命令添加到~/.bashrc或类似的文件中,以便PATH在启动时正确配置。


Mah*_*esh 6

cobra 命令现已变为 cobra-cli。请参阅https://github.com/spf13/cobra#usage