当CGO_ENABLED=0时,go安装失败
我有一个奇怪的问题:当CGO_ENABLED=0时,go安装失败,go,Go,我有一个奇怪的问题: go install工作正常 但是CGO\u ENABLED=0给我一个错误: ➜ CGO_ENABLED=0 go install go install net: open /usr/local/go/pkg/linux_amd64/net.a: permission denied 我不明白为什么它认为网络包改变了 我正试图通过这样做来解决它 ➜ go clean -i 而且 ➜ rm -r $GOPATH/pkg 这没用。 以下是我的设置: ➜ go env
go install
工作正常
但是CGO\u ENABLED=0
给我一个错误:
➜ CGO_ENABLED=0 go install
go install net: open /usr/local/go/pkg/linux_amd64/net.a: permission denied
我不明白为什么它认为网络包改变了
我正试图通过这样做来解决它
➜ go clean -i
而且
➜ rm -r $GOPATH/pkg
这没用。
以下是我的设置:
➜ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/aberezhynskyi/work/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build254491808=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
➜ go version
go version go1.7.1 linux/amd64
您可能没有GOROOT的写入权限。它是否适用于
-installsuffix nocgo
?@JimB,在转到安装运行时/internal/sys:mkdir/usr/local/go/pkg/linux\u amd64\u nocgo:permission denied
时失败。我不是以超级用户的身份运行它,所以我应该以超级用户的身份运行它?我只是觉得在项目中执行go install
会试图安装net
软件包,这很奇怪。让您的GOROOT可由用户编写可能会更好。它需要安装net
软件包,因为该软件包使用CGO,因此需要重新编译。@JimB感谢您的帮助