3

我已经安装了 go(并对其进行了测试)。当我运行时,go env我看到了这个:

$ go env
GOROOT="/usr/lib/go"
GOBIN=""
GOARCH="386"
GOCHAR="8"
GOOS="linux"
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"
GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread"
CGO_ENABLED="1"

然而,当我跑到go get code.google.com/p/go-tour/gotour本地开始游览时(按照说明),似乎什么都没有发生(我没有得到任何输出,尽管它确实需要几秒钟才能运行,这让我觉得一定发生了一些事情)。

说明说要运行生成的 gotour 可执行文件,但我找不到。有人知道我在做什么错吗?我开始觉得我一定很愚蠢,但我就是想不通 runninggo get做了什么(它安装了任何东西吗?它成功了吗?)。

4

3 回答 3

8

你进去看了/usr/lib/go/bin吗?或者,如果你设置了一个 gopath $GOPATH/bin

默认情况下,go get仅在出现错误时打印。生成的可执行文件放置在 GOBIN、GOROOT bin 或 GOPATH bin 中。

于 2012-07-28T07:13:30.440 回答
1

您的gotourgo 安装应该已经提供了可执行文件。

当您在gotour未执行go get先前指示的情况下运行时,它应该会为您提供导入错误。

2012/07/28 09:10:18 Couldn't find tour files: import "code.google.com/p/go-tour/": cannot find package

运行go get将获取源 - 在本例中来自code.google.com/p/go-tour- 并将其放入活动的 go 环境源文件夹中,在您的情况下GOROOT="/usr/lib/go"(如果GOPATH设置为 no)。源将放置在子文件夹中src/pkg/code.google.com/p/go-tour

签出源代码并gotour再次运行后,它可以编译必要的文件并使用该存储库中的静态文件在本地为您提供 gotour。运行gotour时它应该为您呈现类似的东西

2012/07/28 09:10:00 Serving content from C:\Go\src\pkg\code.google.com\p\go-tour
2012/07/28 09:10:00 Serving at http://127.0.0.1:3999/

然后,您可以通过提供的地址浏览 gotour。

作为旁注,据我了解,您错过了这一点:您不需要在本地运行它。它只是您正在浏览的 gotour 网站,只是在本地实例化,尽管您通过go get.

于 2012-07-28T07:14:35.257 回答
1

输入: $GOPATH/bin/gotour 完全符合您的要求。

于 2014-05-19T21:47:04.397 回答