在我的系统中,GOBIN变量未设置(空值)。现在不像其他一些 GO env 变量,即使在命令的输出中,这似乎也没有设置go env。(我是用户ubuntu,~也是/home/ubuntu/)
echo $GOBIN
//empty
echo $GOPATH
//empty
echo $GOROOT
//empty
go env GOBIN
//empty
go env GOPATH
/home/ubuntu/go
go env GOROOT
/usr/local/go
which go
/usr/local/go/bin/go
为什么go env给的值与系统环境变量不同?我找不到关于此的任何文档,但我的假设是,如果未在系统级别设置 env 变量,Golang 会设置默认值——由go env. 这个假设是否正确?
为什么GOBIN未设置?我尝试显式设置系统 env 变量,但它没有反映在 中go env,即使系统 env 变量似乎已被修改。为什么会这样?
echo $GOBIN
//empty
go env GOBIN
//empty
go env GOPATH
/home/ubuntu/go
GOBIN=‘/home/ubuntu/go/bin’
echo $GOBIN
/home/ubuntu/go/bin
go env GOBIN
//empty
官方文档 ( https://pkg.go.dev/cmd/go ) 说:
env 打印 Go 环境信息
但它没有提到上述变量的来源。
问题 X ( https://xyproblem.info/ )
我正在尝试安装 Delve ( https://github.com/go-delve/delve ),我的系统有两个 go 版本 (go1.10.1和go1.17.8),我打算使用后者 (不幸的是无法删除前者)
go1.17.8 go install github.com/go-delve/delve/cmd/dlv@latest/home/ubuntu在=>创建一个新目录go并在此处添加 Delve。但却dlv version无法识别。从go help env,应该安装二进制文件的GOBIN位置go install- 在我的例子中它是未设置的,所以我猜 Golang 将它安装在GOPATH. 但即便如此,我还是希望二进制文件能够被识别。我也尝试将位置添加到我的PATH,但这也没有用。
我应该在通过安装之前将我的 GOBIN 设置为任何特定的东西go1.17.8吗?
我的系统是否有 2 个 go 版本(which go指向 go1.10.1 版本),导致了这个?(1.10.1 没有模块支持,但我正在尝试通过 go.17.8 安装,所以我认为这不是问题)
qq_花开花谢_0
翻翻过去那场雪
相关分类