'go.tools'的权限被拒绝错误

时间:2014-12-03 13:33:51

标签: go

当我尝试安装go工具时,我获得/usr/local/go/pkg/tool/linux_amd64/cover的权限被拒绝。我可以接受,因为它是/usr/local/目录并需要root访问权限。 但我首先怀疑的是,当我将GOPATH设置到其他位置时,它会尝试在此位置安装。

$ go version
go version go1.2.1 linux/amd64

$ export GOPATH='/home/vagrant/repos/atlantis-router/vendor'
$ go get code.google.com/p/go.tools/cmd/cover
go install code.google.com/p/go.tools/cmd/cover: open /usr/local/go/pkg/tool/linux_amd64/cover: permission denied

$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/vagrant/repos/atlantis-router/vendor"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"

有人可以指导我解决这个问题吗?可能是什么原因?

1 个答案:

答案 0 :(得分:1)

Go尝试在$GOTOOLDIR中安装该工具,而不是$GOPATH,因为您可以看到它设置为/usr/local/go/pkg/tool/linux_amd64。在这里也发生了同样的事情。

用sudo运行它,我想,因为该目录中还有其他工具,我认为将GOTOOLDIR设置到其他地方可能会搞砸了。