当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感谢您的帮助