返回顶部
首页 > 资讯 > 后端开发 > GO >为什么 `go env` 命令不反映环境变量的变化?
  • 493
分享到

为什么 `go env` 命令不反映环境变量的变化?

2024-04-04 23:04:02 493人浏览 八月长安
摘要

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《为什么 `Go env` 命令不反映环境变量的变化?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《为什么 `Go env` 命令不反映环境变量的变化?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习

问题内容

在我的系统中,gobin 变量未设置(空值)。现在,与其他一些 go 环境变量不同,即使在 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
  1. 为什么 go env 给出的值与系统环境变量不同?我找不到任何相关文档,但我的假设是,如果未在系统级别设置 env 变量,golang 将设置默认值 - 由 go env 显示。这个假设正确吗?

  2. 为什么 gobin 未设置?我尝试显式设置系统环境变量,但它没有反映在 go 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.1go1.17.8),我计划使用后者(遗憾的是无法删除前者)

go1.17.8 go install github.com/go-delve/delve/cmd/dlv@latest/home/ubuntu => go 创建一个新目录并在此处添加 delve。但dlv版本无法识别。 从 go help env 来看,gobingo install 应该安装二进制文件的地方 - 在我的例子中它是未设置的,所以我猜测 golang 将其安装在 gopath 处。但即便如此,我还是希望二进制文件能够被识别。我还尝试将该位置添加到我的 path 中,但这也不起作用。

  • 在安装之前,我应该通过 go1.17.8 将我的 gobin 设置为任何特定内容吗?
  • 我的系统是否有 2 个 go 版本(,其中 go 指向 go1.10.1 版本),导致此问题? (1.10.1 没有模块支持,但我尝试通过 go.17.8 安装,所以我认为这不会成为问题)

  • 正确答案


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

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

    • 根据 https://github.com/golang/go/blob/master/src/internal/buildcfg/cfg.go, 这些变量要么取自环境变量,要么取自默认变量。

    • 这些默认值是根据运行时 2972​​99677 生成的

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

    这些变量可以通过 os.userconfigdir 处的配置文件或命令 go env name=value 覆盖。

    linux 上的 go 会将持久设置存储到此文件:

    $HOME/.config/go/env

    通过 go env -w 命令。由于 go 工具两者加载此配置 env vars 的设置 - 这解释了为什么您可能会看到不同的值。 go 工具结合了两者。

    以上就是《为什么 `go env` 命令不反映环境变量的变化?》的详细内容,更多关于的资料请关注编程网公众号!

    您可能感兴趣的文档:

    --结束END--

    本文标题: 为什么 `go env` 命令不反映环境变量的变化?

    本文链接: https://lsjlt.com/news/596536.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • 为什么 `go env` 命令不反映环境变量的变化?
      今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《为什么 `go env` 命令不反映环境变量的变化?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在...
      99+
      2024-04-04
    • Linux环境变量失效,命令不可用
      背景 linux在修改完环境变量/etc/profile后保存文件后,发现大多数命令不可用,只有少数如:cd、pwd可以使用; 原因分析 /etc/profile文件中有无效字符或变量,导致export后的环境变量不可用; 在export ...
      99+
      2023-09-30
      linux 运维 服务器
    • java环境变量配置为什么不成功
      Java环境变量配置不成功可能有以下几个原因:1. 配置错误:可能配置的路径不正确,或者配置的环境变量名称有误。在配置环境变量时,需...
      99+
      2023-09-08
      java
    • 【Linux】Linux环境变量的理解 --- 命令行参数、shell子进程、环境变量、本地变量…
      加油布鲁斯,你能行的! 文章目录 一、环境变量PATH中的系统默认搜索路径1.将程序安装到/usr/bin目录(不带./运行自己写的程序)2.将程序路径添加到PATH环境变量里面(不带./运行自己写的程序) 二、环境变量的深度...
      99+
      2023-08-25
      linux 服务器 运维
    • jdk环境变量配置显示不是内部命令的原因是什么
      这篇“jdk环境变量配置显示不是内部命令的原因是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jdk环境变量配置显示不是...
      99+
      2023-07-01
    • 向 Dockerfile 的 go build 命令注入或添加多个环境变量
      怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面编程网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《向 Dockerfile 的 go...
      99+
      2024-04-05
    • linux操作系统的常用命令及环境变量是什么
      本篇内容介绍了“linux操作系统的常用命令及环境变量是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、Linux简介与程序开发环境1...
      99+
      2023-06-22
    • node.js环境变量指的是什么
      这篇文章主要介绍“node.js环境变量指的是什么”,在日常操作中,相信很多人在node.js环境变量指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node.js环...
      99+
      2024-04-02
    • 用sudo命令无法读取环境变量怎么办
      小编给大家分享一下用sudo命令无法读取环境变量怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!通过sudo -l来查看sudo的限制:$ sudo -lMa...
      99+
      2023-06-12
    • java环境变量的作用是什么
      这篇文章将为大家详细讲解有关java环境变量的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据类...
      99+
      2023-06-14
    • Linux的环境变量配置是什么
      Linux的环境变量配置是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Linux环境变量配置在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对...
      99+
      2023-06-28
    • Linux下查看、添加及配置环境变量的命令
      本篇内容介绍了“Linux下查看、添加及配置环境变量的命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 可用 export 命令查看PAT...
      99+
      2023-06-02
    • Go获取与设置环境变量的方法是什么
      这篇文章主要讲解了“Go获取与设置环境变量的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go获取与设置环境变量的方法是什么”吧!01 从安装 Go 说起其实不止是安装 Go,其他...
      99+
      2023-06-25
    • Linux运行命令前怎么临时清空Bash环境变量
      这篇文章主要介绍“Linux运行命令前怎么临时清空Bash环境变量”,在日常操作中,相信很多人在Linux运行命令前怎么临时清空Bash环境变量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux运行命令...
      99+
      2023-06-28
    • Linux export 命令及如何删除export设置的环境变量
      背景: Linux export 命令用于设置或显示环境变量。 在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。 语法: ...
      99+
      2023-09-15
      linux 运维 服务器
    • jdk环境变量配置的方法是什么
      以下是JDK环境变量配置的方法:1. 下载JDK并安装。2. 打开计算机的“属性”窗口,点击“高级系统设置”。3. 点击“环境变量”...
      99+
      2023-06-10
      jdk环境变量配置 jdk
    • python配置环境变量的步骤是什么
      配置Python环境变量的步骤如下:1. 下载并安装Python:从Python官方网站(https://www.python.or...
      99+
      2023-09-25
      python
    • Linux查看环境变量的方法是什么
      在Linux中,可以使用以下方法查看环境变量:1. 使用`echo $变量名`命令来查看某个特定环境变量的值。例如,要查看PATH环...
      99+
      2023-10-09
      linux
    • Vue配置环境变量的方法是什么
      这篇文章主要介绍“Vue配置环境变量的方法是什么”,在日常操作中,相信很多人在Vue配置环境变量的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue配置环境变量的方法是什么”的疑惑有所帮助!接下来...
      99+
      2023-06-26
    • Linux环境变量配置的攻略是什么
      本篇文章为大家展示了Linux环境变量配置的攻略是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Linux环境变量配置在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置...
      99+
      2023-06-28
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作