go install:GOPATH外的目录没有安装位置

时间:2014-10-01 05:57:53

标签: macos path go

好的,我已经看到这个问题出现了很多,但没有解决方案适合我。我曾多次尝试解决这个问题,但没有。这就是我所做的:

  • 已安装Go。

然后我将路径要求添加到 .bash_profile

  • export PATH=$PATH:/usr/local/go/bin
  • export GOPATH=$HOME/go

然后我设置了正确的文件夹:

Folders

如您所见,我还创建了一个名为轮胎的投影。

main.go 的内容只是:

package main

import "fmt"

func main() {
  fmt.Println("Hello, world!")
}

我认为这就是让事情正常工作所需的一切,但无论我做什么,当我尝试运行go install时,我总会收到以下错误:

go install: no install location for directory /Users/Daryl/go/src/tire outside GOPATH

我知道我可以运行go install tire,但这不是问题。我宁愿知道发生了什么。

这是我运行go env时得到的结果:

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/daryl/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
TERM="dumb"
CC="clang"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fno-common"
CXX="clang++"
CGO_ENABLED="1"

这对你们任何人都很熟悉吗?我错过了什么?任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:53)

当您运行go install时,Go会查找$GOBIN env变量路径。您需要将$GOBIN设置为$GOPATH/bin

$ export GOBIN=$GOPATH/bin

和/或将$GOBIN添加到您的操作系统搜索路径

$ export PATH=$PATH:$GOBIN

使用该命令而不会收到错误。

答案 1 :(得分:1)

问题出在James Henstridge commented,出于某种原因,我的用户目录名称存在问题。即使目录小写,我也必须将其大写。

这有效:

GOPATH=/Users/Daryl/go

这没有:

GOPATH=$HOME/go

然而,自从我的iMac转移到rMBP后,我没有任何问题设置Go,所以,直到今天,我还不确定发生了什么,但在那种情况下,大写字母修复了它。

答案 2 :(得分:0)

我在Windows 10中遇到了同样的问题,

因此,我设置了一个名为GOBIN的系统变量 的值为绝对值为F:\go\bin

然后运行go install main.go,一切正常!