~/src/go-statsd-client> echo $GOPATH /Users/me/gopath ~/src/go-statsd-client> echo $GOROOT /usr/local/Cellar/go/1.1.1\ ~/src/go-statsd-client> go install go install: no install location for directory /Users/me/src/go-statsd-client outside GOPATH
无论项目采用何种结构,始终都会失败,并显示相同的消息。去构建完美的作品。
这是我的 go env
go env
GOARCH="amd64" GOBIN="" GOCHAR="6" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/me/gopath" GORACE="" GOROOT="/usr/local/Cellar/go/1.1.1" GOTOOLDIR="/usr/local/Cellar/go/1.1.1/pkg/tool/darwin_amd64" CC="gcc" GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-common" CGO_ENABLED="1"
这是在Mac OSX Mountain Lion上,并且安装了自制软件。
如果不提供任何参数go install,则默认为尝试在当前目录中安装软件包。错误消息告诉您它不能执行此操作,因为当前目录不属于您的$GOPATH。
go install
$GOPATH
您可以:
export GOPATH=$HOME
mv ~/src/go-statsd-client /User/me/gopath
在这两种方法之后,进入go-statsd-client目录并键入go install将起作用,因此go install go-statsd- client从文件系统中的任何位置键入都将起作用。生成的二进制文件将放入$GOPATH/bin。
go-statsd-client
go install go-statsd- client
$GOPATH/bin
作为不相关的建议,您可能希望使用域名对软件包进行命名空间,以避免名称冲突(例如github.com/you/go-statsd- client,如果您在其中保存源代码)。
github.com/you/go-statsd- client