在修改GOPATH后安装godoc,现在我需要它在我的GOPATH中放置什么吗?

在修改GOPATH后安装godoc,现在我需要它在我的GOPATH中放置什么吗?,go,Go,在学习一个教程时,当它想让我运行godoc时,我撞到了墙。它不见了 经过一番搜索,我发现: godoc已更改为1.2,因此它是一个单独的库,并且 二进制的 你必须通过“go-get”来完成它,没有它是不行的 戈帕斯 二进制安装显然包括godoc?我安装了 来自源代码,因此默认情况下不包括它 我将一个GOPATH导出到我当前的应用程序路径/home/me/go_project/test。戈鲁特已经准备好了。(注意:GOPATH不希望设置为与GOROOT相同) 之后,我运行了“gogetcode

在学习一个教程时,当它想让我运行godoc时,我撞到了墙。它不见了

经过一番搜索,我发现:

  • godoc已更改为1.2,因此它是一个单独的库,并且 二进制的
  • 你必须通过“go-get”来完成它,没有它是不行的 戈帕斯
  • 二进制安装显然包括godoc?我安装了 来自源代码,因此默认情况下不包括它
我将一个GOPATH导出到我当前的应用程序路径/home/me/go_project/test。戈鲁特已经准备好了。(注意:GOPATH不希望设置为与GOROOT相同)

之后,我运行了“gogetcode.google.com/p/go.tools/cmd/godoc”,它尽职尽责地将二进制文件安装到我的GOROOT/bin中(耶!)

它还在my/home/me/go_project/test/src/code.google.com/p。。。(嗯……什么?)

我真的不需要那个代码。谷歌。。。我的测试应用程序下的位;Go有什么理由需要把它留在那里吗?它不会改变库路径或依赖项中的任何内容,是吗

基本上…我可以使用它放在GOROOT/bin中的二进制文件,擦除它放在go_项目应用程序目录下的内容而不影响go吗

基本上…我可以只使用它放在GOROOT/bin中的二进制文件,擦除它放在我的>go_项目应用程序目录下的内容而不影响go吗


对。Go二进制文件是静态链接的(几乎是)。

您的问题答案是肯定的。然而,如果你计划做很多Go-dev,你最终会想要建立一个GOPATH。将Godoc更新为新版本将需要它。您可能希望用于开发工作的任何软件包都最好安装到GOPATH中


我会咬紧牙关设置一个。

你读过吗@MattSherman Yup已经设置好了。我一直在做的是创建一个/home/me/go_project/project1,它有自己的src/pkg/bin目录。然后使用/src/bin/pkg转到/project/project2。这似乎意味着在我处理每个项目时,每个项目都有单独的GOPATH(这似乎是对godoc错误报告的响应,有人说他们为他们的项目手动设置了GOPATH)。根据我的阅读,在1.2中,他们划分了godoc在源代码安装时的分布方式,因此二进制文件将进入GOROOT/bin,但源/包将进入您当前正在处理的GOPATH。我不知道如果我删除了GOPATH安装部分的非二进制文件,它是否会影响Go安装中的某些内容(比如平台上的软件包管理…“Go get”是否会跟踪某个地方的活动?)这种结构意味着从源代码更新Go也非常容易,虽然在Go安装中不小心没有升级某些二进制文件……但这是一种“检查理解”,即这是我的真实情况。/src/pkg和/bin适用于整个Go工作区。您的单个项目位于/src下。我在处理项目时设置了一个GOPATH,但可能我没有按“Go-way”的方式执行。上面我描述了如何为每个项目创建工作区……是否所有内容都应该存储在一个大的工作区中?(我所说的“所有内容”是指多个项目)每个项目的gopath很好。GOPATH中可以有多条路径。例如,您可以将godoc安装到公共gopath中。然后在处理它们时将特定于项目的路径添加到GOPATH。