2014-04-18 189 views
0

我正在看看Go,但是我被困在第一個障礙。每當我跑「去安裝」我得到以下錯誤:無法'安裝'在OSX上工作

go install: no install location for directory /Users/jamie/Sites/gocode/src/jd/hello outside GOPATH 

在所有我見過這個一般是因爲用戶沒有設置GOPATH或試圖去運行安裝其他職位在GOPATH之外。我已經建立了我的GOPATH,我的代碼在我的GOPATH中。

這裏是我的目錄結構:

/Users/jamie/Sites/gocode 
    /bin 
    /src 
     /jd 
      /hello 
       hello.go 

我試圖運行從裏面 '去安裝'/用戶/傑米/網站/ gocode/src目錄/ JD /你好。這裏是我的GOPATH:

$ echo $GOPATH 
/Users/james/Sites/gocode 

最後這裏是hello.go:

package main 

import "fmt" 

func main() { 
    fmt.Println("Hello there") 
} 

什麼我錯在這裏做什麼?

編輯:去ENV:

$ go env 
GOARCH="386" 
GOBIN="" 
GOCHAR="8" 
GOEXE="" 
GOHOSTARCH="386" 
GOHOSTOS="darwin" 
GOOS="darwin" 
GOPATH="/Users/james/Sites/gocode" 
GORACE="" 
GOROOT="/usr/local/go" 
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_386" 
TERM="dumb" 
CC="gcc" 
GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread -fno-common" 
CXX="g++" 
CGO_ENABLED="1" 

謝謝!

+0

您的GOPATH不能與Go安裝相同。也就是說,如果你編譯Go,然後嘗試將它的源代碼目錄用於你的源代碼,它會發出抱怨。 –

+0

我不認爲我的GOPATH與安裝目錄相同。 Go安裝在/ usr/local/go - 我習慣OSX .pkg安裝程序。 – jd182

+0

'go env'會告訴你你的Go安裝認爲它是多種路徑。這可能值得檢查,並將其添加到您的問題。 –

回答

3

你GOPATH = 「/用戶/ 詹姆斯 /網站/ gocode」 wheras你的代碼是在/用戶/ 傑米 /網站/ gocode/src目錄/ JD /你好

所以設置GOPATH=/Users/jamie/Sites/gocode,希望它將正常工作。

+0

好吧,發現,完全錯過了。謝謝! – jd182

+0

在什麼文件中設置GOPATH。對不起,但OSX經常更換炮彈。 – zaph