首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么“`go”命令不能反映环境变量的变化?

为什么“`go”命令不能反映环境变量的变化?
EN

Stack Overflow用户
提问于 2022-10-14 02:28:54
回答 2查看 98关注 0票数 -1

在我的系统中,GOBIN变量未设置(空值)。现在,与其他GO env变量不同,即使在go env命令的输出中,这似乎也是未设置的。(我是用户ubuntu,所以~/home/ubuntu/)

代码语言:javascript
复制
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

  1. 为什么go env给出的值与系统环境变量不同?我找不到这方面的任何文档,但我的假设是,如果env变量没有在系统级别上设置,Golang将设置默认值--这些值由go env显示。这个假设正确吗?

  1. 为什么GOBIN未设置?我尝试显式地设置system变量,但是它没有在go env中得到反映,尽管system变量似乎被修改了。为什么?

代码语言:javascript
复制
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)说:

环境打印Go环境信息

但是它没有提到这些变量是从哪里来的。

问题X (https://xyproblem.info/)

我正在尝试安装Delve (https://github.com/go-delve/delve),我的系统有两个go版本(go1.10.1go1.17.8),我计划使用后者(遗憾的是无法删除前者)

go1.17.8 go install github.com/go-delve/delve/cmd/dlv@latest/home/ubuntu => go上创建了一个新目录,并在这里添加了Delve。但是dlv version是不被认可的。在go help env中,GOBINgo install应该安装二进制文件的地方--在我的例子中,它是未设置的,所以我猜Golang会在GOPATH上安装它。但即使如此,我也希望这个二进制能被识别。我还尝试将这个位置添加到我的PATH中,但这也不起作用。

在通过go1.17.8

  • Is安装
  1. 之前,是否应该将GOBIN设置为任何特定的内容--我的系统有2个go版本(which go指向go1.10.1版本),导致了这一点?(1.10.1没有模块支持,但我是通过go.17.8尝试安装的,因此我认为这不是问题)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-14 05:11:26

这些go env变量是在安装二进制文件时设置的变量。

请参阅https://github.com/golang代码

根据

  • ,这些变量要么来自环境变量,要么来自默认变量。

这些默认值按照运行时https://github.com/golang/go/blob/master/src/cmd/dist/buildruntime.go#L48生成

因此,这些变量不显示为操作系统环境变量的一部分。

这些变量可以由os.UserConfigDir的配置文件或命令go env NAME=VALUE覆盖。

票数 2
EN

Stack Overflow用户

发布于 2022-10-14 03:02:35

Linux将存储该文件的持久设置:

代码语言:javascript
复制
$HOME/.config/go/env

通过go env -w命令。由于go工具从加载设置,所以 this config ENV VARS -这解释了为什么您可能会看到不同的值。go工具将两者结合在一起。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74063696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档