在我的go install
文件夹中运行cmd
时,出现错误消息:
go install cmd/go: copying
/var/folders/wh/9y99138n2w1bvcwxz3tbb8zw0000g
n/T/go-build195667123/b150/exe/a.out: open
/usr/local/go/bin/go: permission denied
看来我的环境变量设置正确:
GOCACHE="/Users/<USER>/Library/Caches/go-build"
GOENV="/Users/<USER>/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/<USER>/src/unbias"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
这是我当前项目的目录:位于我的执行路径中:
/Users/<USER>/src/unbias
由于权限错误似乎不在我的项目中,而是在我的安装路径中,所以我不确定是否应该更改此类文件的所有权。
total 37032
drwxr-xr-x 4 root wheel 128B Jul 16 15:53 .
drwxr-xr-x 20 root wheel 640B Jul 16 15:29 ..
-rwxr-xr-x 1 root wheel 15M Jul 16 15:52 go
-rwxr-xr-x 1 root wheel 3.4M Jul 16 15:53 gofmt
我的go.mod
也是:
module cmd
go 1.14
答案 0 :(得分:0)
这意味着您的<PATH_TO>/cmd
的{{1}}权限不可写或$GOPATH/pkg/cmd/go
不可读。
您可以:
User
sudo chmod -R 777 <PATH_TO>/cmd
或govendor
(如果它不在go mod
之外)。GOPATH
内部创建(您尚未说明$GOPATH
内是否<PATH_TO>/cmd
$GOPATH
可写,请暂时使用<PATH_TO>/cmd
,并由sudo
再次将所有权更改为<User>
通过chown
再次检查对<PATH_TO>/cmd
或$GOPATH/pkg/cmd/go
的许可,它应该是可读写的。