在工作区中获取多个项目

时间:2013-09-05 13:30:09

标签: go

在Go中,工作空间包含src,pkg和bin目录。如何在工作区中创建多个项目,每个项目都有自己的src,pkg,bin目录,以便我可以“获取”包到特定项目的pkg目录中。

3 个答案:

答案 0 :(得分:2)

你可能不需要那个。让我们忘记“工作区”这个词,它可能只会让你感到困惑。

如果您设置了GOPATH环境变量,那么您实际需要将多个项目独立地放在您的硬盘上。

例如,拥有export GOPATH="$HOME",并执行

$ go get github.com/foo/bar
$ go get github.com/baz/qux

您的目录树将是

$GOPATH/pkg...
        compiled packages
$GOPATH/src/github.com/foo/bar
        bar.go
$GOPATH/src/github.com/baz/qux
        qux.go

更多详情here。请注意,它 谈论工作空间,但我仍然认为这个事实非常不幸。该文档的早期版本没有使用也没有定义概念,无论如何它们都很有用。这是IMO证明它(工作空间)是多余的。

答案 1 :(得分:0)

go get不打算以这种方式使用。

所有go get个软件包都在$GOPATH/*中,如此处所述:http://golang.org/doc/code.html#remote并且没有单独工作区的概念。

答案 2 :(得分:0)

如果你真的想要几个“工作区”:在GOPATH中有几个条目(在unix上用“:”分隔)。 (但大多数人只是把所有东西都放在一个GOPATH下)。

请记住go get只将提取到您的第一个GOPATH条目中。

其他条目可用作“单独的工作空间”。