2013-09-05 3 views
1

Go에서 작업 공간에는 src, pkg 및 bin 디렉토리가 있습니다. 작업 공간에 각각의 src, pkg, bin 디렉토리가있는 여러 프로젝트를 작성하여 특정 프로젝트의 pkg 디렉토리에 패키지를 가져올 수있는 방법.작업 공간에서 여러 프로젝트 가져 오기

+0

@jnml이 지적했듯이, 문서가 작업 영역을 정의하는 방식은 혼란 스럽습니다. 나는 src 디렉토리를 작업 공간으로 생각한다. 이것은 내 질문에 완벽하게 대답했다 : http://stackoverflow.com/a/9986574/1375688 – tldr

답변

1

아마도 그렇게 할 필요는 없습니다. "workspace"라는 단어를 잊어 버리면 아마도 혼란스럽게 느껴질 것입니다.

GOPATH 환경 변수를 설정하면 실제로 여러 프로젝트가 독립적으로 하드 디스크에 있어야합니다. 예를 들어

, export GOPATH="$HOME"을 가진, 그리고

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

자세한 내용 here 될 것

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

디렉토리 트리를 수행. 그것 는 작업 공간에 대해 이야기를하지만, 나는 아직도 그 사실을 매우 불행하다고 생각합니다. 그 문서의 이전 버전은 개념을 사용하거나 정의하지 않았으며 어쨌든 유용했습니다. 그것이 IMO가 증명 한 것입니다 (작업 공간).

+0

그래서 "$ GOPATH/src/github.com/foo/bar"를 모든 파일에서 가져올 수 있습니까? – tldr

+0

@tldr : import 문에서'$ GOPATH/src /'부분을 버리면된다 .-) – zzzz

+0

그러나 github repo의 master 브랜치에서 가져온다. 내가 얻은 버전을 '가서 가져와'사용하고 싶다면 어떻게해야합니까? – tldr

0

정말로 "작업 공간"이 여러 개인 경우 : GOPATH에 여러 항목이 있어야합니다 (유닉스에서는 ":"로 구분). (하지만 대부분은 모든 것을 하나의 GOPATH로 유지합니다).

go get은 첫 번째 GOPATH 항목에 패키지 만 가져옵니다.

다른 항목은 "별도 작업 영역"으로 사용할 수 있습니다.

관련 문제