构建打包器会导致权限被拒绝错误

时间:2015-10-29 00:19:20

标签: go packer

我正在尝试构建packer,我收到此错误:

go install golang.org/x/tools/cmd/vet: open /usr/lib/go/pkg/tool/linux_amd64/vet: permission denied
Makefile:40: recipe for target 'test' failed
make: *** [test] Error 1

安装程序是否尝试访问我的/ usr文件夹?我应该在root下运行吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

go vet很特别,因为它是一个需要进入GOROOT的工具。在大多数安装中,GOROOT也是用户可写的,但是如果你通过包管理器安装它就不会。

要解决此问题,您可以以root用户身份执行此操作,以避免更改GOPATH中的任何权限:

GOPATH=/tmp/tmpGOPATH go get golang.org/x/tools/cmd/vet
rm -rf /tmp/tmpGOPATH

由于vet是官方发行版提供的工具,因此未安装它可能会被视为gentoo的go包中的错误。官方go二进制分发包括以下工具:

addr2line
api
asm
cgo
compile
cover
dist
doc
fix
link
nm
objdump
pack
pprof
tour
trace
vet
yacc