【问题标题】:Unable to run go install: no install location for directory outside GOPATH无法运行 go install:没有 GOPATH 之外的目录的安装位置
【发布时间】:2014-08-20 03:29:30
【问题描述】:

当我尝试运行 go install 时,我得到以下信息:

go install golang-book/chapter11/math: mkdir /Users/Swanros/Go/pkg/darwin_amd64: permission denied

然后我尝试sudo go install 并得到以下信息:

go install: no install location for directory /Users/Swanros/Go/src/golang-book/chapter11/math outside GOPATH

这是我的go env

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/Swanros/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"

echo $GOPATH 输出:

/Users/Swanros/Go

我错过了什么?我整个上午都在处理这个问题。

【问题讨论】:

  • @DanielWilliams 这是一个权限问题,而不是您链接的那个问题的重复。
  • 安装 go 包时不要使用 sudo。它会一直让你绊倒。
  • @JimB 我知道我不应该使用sudo,但由于错误描述,我不得不尝试一下。谢谢!

标签: go installation


【解决方案1】:

这似乎是一个权限问题,更改 $GOPATH 的所有权应该可以解决它。

sudo chown -R $USER $GOPATH

我猜你以某种方式以 root 身份安装了一些东西,改变了$GOPATH/pkg 的权限。

【讨论】:

  • sudo 不保留环境变量,所以当你执行 sudo go install 时,它会抱怨 GOPATH 设置不正确。
  • 向强大的@DaveCheney 鞠躬
猜你喜欢
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-04
  • 1970-01-01
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
相关资源
最近更新 更多