【问题标题】:go build -i cause open /usr/local/go/pkg/darwin_amd64/runtime/cgo.a: permission deniedgo build -i 导致打开 /usr/local/go/pkg/darwin_amd64/runtime/cgo.a:权限被拒绝
【发布时间】:2020-07-05 07:56:56
【问题描述】:

我构建我的项目使用

go build -i -v -o ./bin/demo-api .

得到结果

go build runtime/cgo: copying /Users/hrbc/Library/Caches/go-build/63/63a132c80210b5c7b4f4ed9a902aaec712c42b15e23aa2c1b1778e2f85165d04-d: open /usr/local/go/pkg/darwin_amd64/runtime/cgo.a: permission denied

没有 -i 选项也能正常工作。有什么办法可以解决这个问题吗?

go 版本 go1.14 darwin/amd64 去环境

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/hrbc/Library/Caches/go-build"
GOENV="/Users/hrbc/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/hrbc/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/7n/bh7jk7s95_3gljs6gf3405k00000gn/T/go-build782113827=/tmp/go-build -gno-record-gcc-switches -fno-common"

【问题讨论】:

  • open /usr/local/go/pkg/darwin_amd64/runtime/cgo.a: permission denied 看起来很清楚,你检查过你的go安装的权限都正确了吗?
  • 我了解权限的工作原理并且可以解决它,但我不明白它是如何得到这个错误的。我使用了 go 官方网站的标准安装 .pkg。

标签: go


【解决方案1】:

你可以试试:

sudo chmod -R 777 /usr/local/go

似乎go没有足够的权限来执行一些操作。我有同样的问题,并且为我解决了

【讨论】:

  • 为什么我们需要这样做?我原以为这一定是在安装过程中完成的。它也对我有用。
  • @gbenga_ps 基本上,在 linux 中一切都是文件,并非所有文件都是可执行文件,因此您必须将此权限授予真正的人
  • 在 /usr 中有一些世界可写的东西感觉不对。
【解决方案2】:

类似的问题。就我而言,我还需要将所有者从 root 更改为我的用户组。

ll /usr/local/go                               
total 360
-rwxrwxrwx    1 root  wheel    54K Jun  1 12:44 AUTHORS
-rwxrwxrwx    1 root  wheel   1.3K Jun  1 12:44 CONTRIBUTING.md
-rwxrwxrwx    1 root  wheel    88K Jun  1 12:44 CONTRIBUTORS
-rwxrwxrwx    1 root  wheel   1.4K Jun  1 12:44 LICENSE

跟随

sudo chown -R <user>:<group> /usr/local/go

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2011-03-24
    相关资源
    最近更新 更多