我正在尝试构建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下运行吗?我该如何解决这个问题?
答案 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