我GOPATH是/Users/joe/go
。我正在致力於一個名爲myproj
的項目,該項目名爲myproj
。使用Git(或任何VCS)的Go項目的正確組織是什麼?
如果我想能寫import "myproj"
隨後的目錄結構我需要的是:
$GOPATH/src/myproj/myproj.go
$GOPATH/src/myproj/myproj_test.go
...
不過,我似乎無法讓這個適合使用Git。如果我看一個example package from Google我看到下面的格式:
go.example/hello/hello.go
go.example/LICENSE
哪裏go.example
是回購協議的名稱。
所以實際的包目錄中找到內庫。如果我把這個存儲庫的內容放到我的$ GOPATH目錄中,例如
$GOPATH/src/go.example/hello/hello.go
$GOPATH/src/go.example/LICENSE
那麼我將不得不鍵入import "go.example/hello"
而非import "hello"
。
說回我的項目,我需要在一個Git倉庫打包這件事之後我需要一個容器目錄。所以,我現在的文件結構是:
$GOPATH/src/myproj # The dir for the git repo
$GOPATH/src/myproj/.git
$GOPATH/src/myproj/LICENSE # Files in the base of the repo
$GOPATH/src/myproj/myproj/myproj.go # Package files in package dir
$GOPATH/src/myproj/myproj/myproj_test.go
我需要外myproj
目錄綁定的git倉庫,我需要內部一個是包目錄。結果是我需要鍵入import "myproj/myproj"
而不是import "myproj"
。
我該如何解決這個問題?我是否需要添加多個$ GOPATHS,每個項目都有一個用於我正在開發的項目?
在此先感謝。
是的,你需要添加多個條目到你的GOPATH(按照你的平臺定義分開)。請閱讀我的詳細答案[this](http://stackoverflow.com/questions/10838469/how-to-compile-go-program-consisting-of-multiple-files) –
IIUC:不,我不認爲建議每個包裝都有GOPATH條目。 – zzzz
不是針對每個軟件包,而是針對每個項目(至少那些沒有在github(或類似的)中暴露並具有定義和固定URL的人)。 –