找不到 godoc 命令

Alb*_*ale 4 go linux-mint godoc

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 run 等)都可以正常工作。

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

Tom*_*son 25

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

这是因为 go get 已被弃用

从 Go 1.17 开始,不推荐使用 go get 安装可执行文件。可以使用 go install 来代替。在 Go 1.18 中,go get 将不再构建包...

也就是说,go get在1.18及更高版本中将不再安装可执行文件。使用go install

  • 对这一变化的良好呼吁。 (4认同)

pri*_*yGK 19

步骤 - 1:检查 godoc 包是否安装

确保您可以使用以下命令运行 godoc:

$GOPATH/bin/godoc -http=:6060
Run Code Online (Sandbox Code Playgroud)

步骤 - 2:安装 godoc 包

如果您没有看到任何错误,则转到步骤 4,否则如果您看到此错误No such file or directory,则必须首先使用以下命令获取 godoc 包:

go get golang.org/x/tools/cmd/godoc
Run Code Online (Sandbox Code Playgroud)

安装需要一些时间。

步骤 - 3:尝试 godoc 命令

试试这个命令

godoc --help
Run Code Online (Sandbox Code Playgroud)

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

步骤 - 4:添加路径变量

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

export PATH="$GOPATH/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

现在尝试步骤 - 3 。


Shu*_*gra 7

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


Dev*_*hon 6

下面是我在 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
Run Code Online (Sandbox Code Playgroud)

重新加载终端并运行:

mkdir -p $GOPATH $GOPATH/src $GOPATH/pkg $GOPATH/bin
go install golang.org/x/tools/cmd/godoc@latest
godoc -http=localhost:6060
Run Code Online (Sandbox Code Playgroud)

然后您可以打开浏览器访问localhost:6060RTFM ;-)


Jak*_*kub 5

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

export PATH="$GOPATH/bin:$PATH"
godoc -http=:6060
Run Code Online (Sandbox Code Playgroud)

  • 如果我没记错的话,GOPATH 已经不再使用了。因此,在 $HOME/.profile 中,我根据您的建议添加了一个新行,使用 $HOME 而不是 $GOPATH ```export PATH=$PATH:/usr/local/go/bin``` ```export PATH=$PATH :$HOME/go/bin``` 现在可以了!非常感谢! (3认同)
  • 我有我的`GOPATH=""`。所以,我首先必须使用 `export GOPATH=/Users/myusername/go/` 设置我的 GOPATH (2认同)