go - 为什么运行 `go get golang.org/x/tools/cmd/godoc` 时没有创建二进制文件?

标签 go

godocgotour 可以使用 go build 从它们各自的源目录构建和运行。当一个 go get 时创建 gotour 二进制文件而 godoc 不是这种情况的原因是什么。

命令行输出:

[ user@pc:~/.gvm/pkgsets/go1.5.1/global ]
>> ls

[ user@pc:~/.gvm/pkgsets/go1.5.1/global ]
>> go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/.gvm/pkgsets/go1.5.1/global"
GORACE=""
GOROOT="/home/user/.gvm/gos/go1.5.1"
GOTOOLDIR="/home/user/.gvm/gos/go1.5.1/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

[ user@pc:~/.gvm/pkgsets/go1.5.1/global ]
>> go get golang.org/x/tools/cmd/godoc

[ user@pc:~/.gvm/pkgsets/go1.5.1/global ]
>> ls
pkg  src

[ user@pc:~/.gvm/pkgsets/go1.5.1/global ]
>> go get golang.org/x/tour/gotour

[ user@pc:~/.gvm/pkgsets/go1.5.1/global ]
>> ls 
bin  pkg  src

[ user@pc:~/.gvm/pkgsets/go1.5.1/global ]
>> ls bin/
gotour

[ user@pc:~/.gvm/pkgsets/go1.5.1/global ]
>> cd src/golang.org/x/tools/cmd/godoc/

[ user@pc:~/.gvm/pkgsets/go1.5.1/global/src/golang.org/x/tools/cmd/godoc ]
>> go build

[ user@pc:~/.gvm/pkgsets/go1.5.1/global/src/golang.org/x/tools/cmd/godoc ]
>> ./godoc 
usage: godoc package [name ...]
    godoc -http=:6060
  -analysis string
        comma-separated list of analyses to perform (supported: type, pointer). See http://golang.org/lib/godoc/analysis/help.html
  -ex
        show examples in command line mode
  -goroot string
        Go root directory (default "/home/user/.gvm/gos/go1.5.1")
  -html
        print HTML in command-line mode
  -http string
        HTTP service address (e.g., ':6060')
  -httptest.serve string
        if non-empty, httptest.NewServer serves on this address and blocks
  -index
....

最佳答案

Godoc 很特别,因为它是 Go 发行版中的官方工具。

因此,如果您go get godoc,结果二进制文件将不会放在所有其他可执行文件所在的$GOPATH/bin 下,而是放在$GOROOT/bin.

Gotour 在这方面并不特殊,因此它会安装到您的 $GOPATH/bin 中。

关于go - 为什么运行 `go get golang.org/x/tools/cmd/godoc` 时没有创建二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33118766/

相关文章:

regex - 在 Golang 中从 HTML 中提取文本内容

Go:高效地将十六进制值存储在内存中

struct - golang 从结构中返回第一个字段

google-app-engine - 您能解释一下应用程序引擎上下文接口(interface)是什么吗?

go - 向 TCP 服务器发送多个请求失败

戈朗 : Strange behaviour with function type

go - 该程序在后台监听连接并等待用户输入

go - 如何使用 golang 内置的 Untar (golang.org/x/build/internal/untar)

linux - 如何在Linux中获取逻辑卷信息?

go - 为什么 [容量] 字符串断言到 [] 字符串会在 Golang 中失败?