2014-04-18 119 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