【问题标题】:go install: no install location for directory outside GOPATHgo install: GOPATH 之外的目录没有安装位置
【发布时间】:2014-11-25 21:59:40
【问题描述】:

我安装了 Go,然后在我的 .bash_profile 中添加了路径要求:

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

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

我还创建了一个名为轮胎的投影。 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 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"

任何帮助将不胜感激。

【问题讨论】:

  • 唯一让我印象深刻的是 GOPATH 和 Go 认为你的源所在的目录(daryl vs Daryl)之间的情况不匹配。对于区分大小写的文件系统,这些路径将是不同的,因此它可能不知道它们是等价的。
  • @JamesHenstridge 我想你本可以搞定的。我用大写的帐户名创建了一个新的测试用户,它可以工作。虽然,这对我来说并没有什么意义,但我已经在 GOPATH 中指定了小写字母,那么为什么要使用其他方式呢?
  • 我没有要测试的 OSX 系统,但我猜它是以下之一:(1)目录确实是大写的(运行ls /Users 来检查),或者( 2) getcwd 正在返回目录名称的大写版本。
  • 是的,OSX(特别是 HFS+)可以配置为不区分大小写和保留大小写。
  • 尝试设置 GOBIN="/Users/daryl/go/bin"

标签: macos path go


【解决方案1】:

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

$ export GOBIN=$GOPATH/bin

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

$ export PATH=$PATH:$GOBIN

使用命令而不报错。

【讨论】:

  • 我认为你说export GOBIN=$GOPATH:bin的地方应该说export GOBIN=$GOPATH/bin
  • 这也是给我的!我只设置了 $GOPATH 而不是 $GOBIN,只要设置了 $GOBIN,一切正常。谢谢。
【解决方案2】:

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

这行得通:

GOPATH=/Users/Daryl/go

这不是:

GOPATH=$HOME/go

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

【讨论】:

    【解决方案3】:

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

    所以我设置了一个名为GOBIN的系统变量 绝对F:\go\bin

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      • 1970-01-01
      • 2014-09-06
      • 2015-03-04
      相关资源
      最近更新 更多