2014-02-14 2 views
4

저는 Go에서 몇 가지 외부 라이브러리가 필요합니다. MySQL 드라이버, 이미지 조작 라이브러리 등입니다. 지금은 $GOPATH이/usr/lib/go/src로 설정되어 있습니다./usr/lib/go/src/src에 패키지를 다운로드했는데, 이는 분명히 옳지 않은 것처럼 보입니다. $GOPATH을/usr/lib/go로 설정하면 $GOPATH$GOROOT과 같은 디렉토리로 설정할 수 없다는 오류가 발생합니다. 그래서 내 build.sh에 GOPATH=/path/to/my/project/lib을 넣어야하고, 나의 자식 repo에 커밋 할 때 lib /를 내 .gitignore에 넣으시겠습니까?

나는 이것이 어리석은 질문이라는 것을 알고 있습니다. 그것은 지금처럼 잘 작동합니다, 나는 이것이 나쁜 습관인지 궁금합니다.

답변

7

$ GOPATH는 실제로 컴파일러에서 어디에서 찾을 수 있는지를 알고있는 한 몇 가지 예외를 제외하고 선택한 위치 일 수 있습니다. 당신이 그것을 변경하는 경우 당신이

export GOPATH=/path/to/gopath

내 개인적인 취향과 경로를 업데이트 확인하는 것은 내가 go get <repo path>을 통해 가져올 수하기위한 것입니다 패키지를 쓰고 있어요 않는 한 $의 GOPATH 내 코드에서 분리 유지하는 것입니다, 이 경우 나는

패키지를 사용할 때 저장됩니다 것을 표준 위치입니다 $GOPATH/src/<repo path>

에서 코드를 작성할 수 있습니다 go get <repo path>

+0

아, 그건 의미가 있습니다. 나는 단지 내가 나쁜 습관을 사용하고 있는지 확인하고 싶다. 그래서 나중에 나에게 상처를주는 것은 아니다. – eggbertx

+2

공개 코드를 작성할 때 ~/proj에서 $ GOPATH/src/으로 심볼릭 링크를 만들면 편리합니다. 쉘에서 쉽게 건너 뛸 수 있습니다. – Sekm

관련 문제