找不到 godoc 命令

godoc command not found

godoc 命令在我的系统上不起作用(我使用 Linux Mint 20 Ulyana)。

我刚试过这个程序:

  1. 使用以下命令安装 godoc:

go get golang.org/x/tools/cmd/godoc

  1. 启动 godoc 服务器:

godoc -http=:6060

结果是: bash: godoc: command not found

我正在使用这个 go 版本 go version go1.15 linux/amd64

这是我的 PATH 变量 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/go/bin

所有其他 go 命令(go build、go 运行 等等)都可以正常工作。

我该怎么做才能使 godoc 命令起作用?

$GOPATH/bin 添加到您的 PATH 变量。可执行文件,如 godoc,安装到 $GOPATH/bin

export PATH="$GOPATH/bin:$PATH"
godoc -http=:6060

第一步:检查是否安装了godoc包

确保你可以 运行 godoc 使用这个命令:

$GOPATH/bin/godoc -http=:6060

第二步:安装godoc包

如果你没有看到任何错误然后转到 步骤 - 4 否则如果你能看到这个错误 No such file or directory 那么你必须先获取 godoc 包通过使用此命令:

go get golang.org/x/tools/cmd/godoc

安装需要一些时间。

第 3 步:尝试 godoc 命令

试试这个命令

godoc --help

如果此命令 运行 成功,那么您就完成了,如果您仍然遇到任何错误,则无需执行其他任何操作,请按照 步骤 - 4 进行操作,如果您仍然失败请检查您是否正确定义了 $GOPATH 变量

第四步:添加路径变量

使用此命令将 $GOPATH/bin 添加到您的 PATH 变量中:

export PATH="$GOPATH/bin:$PATH"

立即尝试 步骤 - 3

我使用的是 macOS,对我来说 $GOPATH 没有配置,我发现安装包的路径是 $HOME/go/bin/godoc。查看 go help gopath 了解更多相关信息。

我有一个不同的问题。从 1.18 开始,您现在必须 运行 go install golang.org/x/tools/cmd/godoc

这是因为

不推荐使用 go get

Starting in Go 1.17, installing executables with go get is deprecated. go install may be used instead. In Go 1.18, go get will no longer build packages...

换句话说,go get 在 1.18 及更高版本中将不再安装可执行文件。使用 go install.

以下是我在 macOS 上所做的,它应该也适用于 linux。

将此添加到您的 ~/.bashrc~/.zshrc:

export GOPATH=$HOME/go # or somewhere else
export GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin

重新加载您的终端并 运行:

mkdir -p $GOPATH $GOPATH/src $GOPATH/pkg $GOPATH/bin
go install golang.org/x/tools/cmd/godoc@latest
godoc -http=localhost:6060

然后在 localhost:6060 打开浏览器到 RTFM :-)