在Go中,工作空间包含src,pkg和bin目录。如何在工作区中创建多个项目,每个项目都有自己的src,pkg,bin目录,以便我可以“获取”包到特定项目的pkg目录中。
答案 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条目中。
其他条目可用作“单独的工作空间”。