当GOROOT设置为$HOME/go且未设置$GOPATH时,cmd/go: error for unset $GOPATH是无助的,

hgb9j2n6  于 3个月前  发布在  Go
关注(0)|答案(1)|浏览(52)

你正在使用哪个版本的Go( go version )?

$ go version
go version go1.13.1 linux/amd64

这个问题在最新版本中是否会重现?

是的

你正在使用什么操作系统和处理器架构( go env )?

go env 输出

$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN="/home/user/bin"
GOCACHE="/home/user/.cache/go-build"
GOENV="/home/user/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/user"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/user/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/user/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build291059786=/tmp/go-build -gno-record-gcc-switches"

你做了什么?

取消设置GOPATH,并将go源代码树定位在$HOME/go。
然后运行go工具执行一些操作,例如 go env

你期望看到什么?

一个有信息的错误消息。

你看到了什么?

"missing $GOPATH"

其他信息

请参阅 https://groups.google.com/d/topic/golang-nuts/D7wk6Mb6bZI/discussion
请注意,虽然这与 #29341 在表面上相似,但在 https://golang.org/cl/158257 中的修复将无法解决此问题。

相关问题