我刚刚安装了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/.等,然后用我的代码在目录中运行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。
发布于 2015-01-04 23:08:47
我能想到两种可能性:
我建议您阅读有关go命令的文档,特别是关于GOPATH envvar的章节。引用:
bin/目录保存已编译的命令。每个命令都以其源目录命名,但只命名为最后一个元素,而不是整个路径。也就是说,DIR/src/foo/quux中的源命令安装在DIR/bin/quux中,而不是DIR/bin/foo/quux中。取消foo/,以便您可以将DIR/bin添加到您的路径中,以获取已安装的命令。如果设置了GOBIN环境变量,则命令将安装到它命名的目录中,而不是DIR/bin。
Go很可能试图在这里安装您的程序,并遇到权限错误。可能只是个错误信息。在任何情况下,我都不清楚你为什么要设置$GOBIN。若要将go工具添加到路径中,请直接添加目录:export PATH=/usr/local/go/bin:$PATH
如果这不起作用,请检查主目录的情况,就像https://stackoverflow.com/a/27430341中的问题一样。
https://stackoverflow.com/questions/27192909
复制相似问题