godoc
和gotour
可以使用go build
从他们的respecitve源目录构建和运行。 gotour
二进制文件创建go get
二进制文件的原因是什么?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
....
答案 0 :(得分:3)
Godoc很特别,因为它是官方工具,是Go发行版的一部分。
因此,如果您使用go get
godoc,结果二进制文件将不会放在所有其他可执行文件所在的$GOPATH/bin
下,而是放在$GOROOT/bin
下。
Gotour并不是特殊的,因此它会安装到您的$GOPATH/bin
。
答案 1 :(得分:1)
对于那些希望在godoc
下安装$GOPATH
的人可以这样做:
1。 下载,请勿安装:
$ go get -u -d golang.org/x/tools/cmd/godoc
2。 将二进制文件构建到特定路径:
$ go build -o $GOPATH/bin/godoc golang.org/x/tools/cmd/godoc