【发布时间】:2014-11-28 16:39:29
【问题描述】:
我刚刚安装了 Go,但我的 go install 无法正常工作。我按照 YouTube 上的教程编写了一个 HelloWorld.go 应用程序,但我不断收到错误消息:
go install: no install location for directory /Users/####/Documents/Dev/go/src/github.com/####/hello outside GOPATH
这是我的go env:
GOARCH="amd64"
GOBIN="/usr/local/go/bin"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/####/Documents/Dev/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
在我关注的人的教程中,GOPATH 也设置为一个文件夹,然后我打算创建文件夹 /src/github.com/.....etc 然后在目录中运行go install用我的代码。这是代码,尽管我认为代码不会有太大问题:
package main
import "fmt"
func main() {
fmt.Println("Hello, world!");
}
当我使用我的代码在目录中运行pwd 命令时,输出如下:
/Users/####/Documents/Dev/go/src/github.com/####/hello
当我使用我的代码在目录中运行echo $GOPATH 命令时,输出如下:
/Users/####/Documents/Dev/go
我正在运行 Mac OSX Yosemite。
【问题讨论】:
-
你能澄清一下你的代码在哪个目录吗? $GOPATH/src/github.com/####/hello 或 /src/github.com/####/hello?此外,对于 hello world,您不必使用 github.com/username/hello 模式 - 除非您真的想在 github 上托管它。您可以使用 $GOPATH/src/test/hello 或类似的东西。因为显然您对目录有些混淆。
-
代码在 $GOPATH/src/github.com/####/hello,我决定用 github 模式设置文件结构,因为我将在 github 上托管我的代码在将来。只是 HelloWorld 应用可能没有。
-
发布“pwd”和“echo $GOPATH”命令的输出。您正在 $GOPATH 之外的目录中运行“go install”。
-
pwd: /Users/####/Documents/Dev/go/src/github.com/####/helloecho $GOPATH: /Users/####/Documents/Dev/go