Go env命令如何配置go环境变量

 更新时间:2023年05月30日 08:59:58   作者:Sherwei  
这篇文章主要为大家介绍了Go env如何配置go环境变量的命令详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

首先

这个环境变量并不是指Windows系统里的那个环境变量,而是go语言里可以让用户进行配置的一些变量。我们可以在cmd中使用go env命令来查看所有go环境变量的当前值:

下面,我们将对重要的一些环境变量进行配置:

GO111MODULE

go module是go官方自带的go依赖管理库,在1.13版本正式推荐使用。默认值为空,即go判断开不开启module的依据是看当前项目的根目录下有没有go.mod文件,当然我们也可手动更改为 on(全部开启)/off(全部不开启,不建议):

go env -w GO111MODULE=on 

GOPROXY

GOPROXY就是设置Golang的全局代理。在下载依赖包的时候,一般是访问github的仓库,国内的环境很容易被墙,所以最好设置一个速度快的代理。Go在此版本中GOPROXY的默认值为https://proxy.golang.org,国内是无法访问的。因此,这里推荐使用七牛云的代理https://goproxy.cn

go env -w GOPROXY=https://goproxy.cn,direct 

GOPATH

在go 1.11版本之前,GOPATH主要用于指定我们的开发工作区(Workspace),是存放源代码、测试文件、库静态文件、可执行文件的目录。但是自从go 1.11引入module功能之后,GOPATH的作用就不大了。

目前在go module模式下,使用go get下载的外部依赖模块就位于$GOPATH/pkg/mod目录下。而因为GOPATH的默认值为C:\Users\%UserName%\go,所以下载的外部依赖包也就存放在C盘下面。

如果怕之后安装的依赖包太多占用C盘空间的话,我们可以更改GOPATH到其他位置,比如设置为go的安装目录下面:

go env -w GOPATH=D:\Golang1.19\gopath 

GOMODCACHE

即存储go下载的外部依赖模块文件的目录,默认值为$GOPATH/pkg/mod,因此我们一般只需要更改GOPATH的值即可,此环境变量的值就会自动做出相应的变动。当然你也可以设置为其他值。

GOCACHE

此目录存放go项目在构建过程中产生的缓存,默认值为C:\Users\%UserName%\AppData\Local\go-build,我们也可以更改为其他值,比如设置到GOPATH目录下:

go env -w GOCACHE=D:\Golang1.19\gopath\go-build-cache 

GOENV

此目录存放go环境变量的值的配置文件,默认值为C:\Users\%UserName%\AppData\Roaming\go\env,此值一般不需要更改,并且也不能通过go env的方式来更改此变量值。我们可以来到此目录下,发现有一个env文件,打开就可以看到文件的内容就是我们之前自定义过的go环境变量的值:

GOROOT

即go语言的安装目录,此值切记不要修改,保持默认值即可。如果乱改了,然后发现无法在控制台中使用go命令了,可以打开上一条中提到的env配置文件,删除自己自定义的值,即可恢复GOROOT为默认值。

其他相关命令

// 打印指定go环境变量的值 
go env $Variable_Name 
// 将指定go环境变量的值重设为默认值 
go env -u $Variable_Name 

关于系统环境变量

在go语言的安装过程中,安装程序会自动将$Go_Installation_Directory\bin加入到系统环境变量的Path里面,比如D:\Golang1.19\bin,这样就方便我们可以直接在CMD里面使用go的相关命令。除此之外,我们一般就不需要在系统环境变量里为go配置任何东西了,因为其他的一些go环境变量都可以通过go env来配置。

以上就是Go env命令如何配置go环境变量的详细内容,更多关于Go env环境变量配置的资料请关注脚本之家其它相关文章!

相关文章

  • golang 使用 viper 读取自定义配置文件

    golang 使用 viper 读取自定义配置文件

    这篇文章主要介绍了golang 使用 viper 读取自定义配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Golang实现Directional Channel(定向通道)

    Golang实现Directional Channel(定向通道)

    这篇文章主要介绍了Golang实现Directional Channel(定向通道),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 基于Go语言轻松构建定时任务调度器的示例代码

    基于Go语言轻松构建定时任务调度器的示例代码

    Go 标准库 time 包提供了非常强大且简洁的支持,配合协程可轻松构建定时任务调度器,下面就跟随小编一起来了解下如何使用Go语言实现任务调度器可以定时执行任务吧
    2025-08-08
  • 使用Golang采集Nginx接口流量大小的步骤

    使用Golang采集Nginx接口流量大小的步骤

    在开发和运维中,我们经常需要监控和分析服务器的接口流量大小,特别是对于部署了 Nginx 的服务器,本文将介绍如何使用 Golang 采集 Nginx 接口流量大小,并展示如何将这些数据进行实时监控和分析
    2023-11-11
  • Go语言中io包核心接口示例详解

    Go语言中io包核心接口示例详解

    Go的io包提供了io.Reader和io.Writer接口,分别用于数据的输入和输出,下面这篇文章主要给大家介绍了关于Go语言中io包核心接口的相关资料,需要的朋友可以参考下
    2021-12-12
  • golang中strconv.ParseInt函数用法示例

    golang中strconv.ParseInt函数用法示例

    这篇文章主要介绍了golang中strconv.ParseInt函数用法,实例分析了strconv.ParseInt函数将字符串转换为数字的简单使用方法,需要的朋友可以参考下
    2016-07-07
  • 详解Go语言如何解析带注释的json

    详解Go语言如何解析带注释的json

    标准的json格式是不带注释,但是有时候为了方便理解json中各字段的含义,需要支持带注释的json,这篇文章主要介绍了Go语言解析带注释json的相关方法,希望对大家有所帮助
    2024-03-03
  • 深入理解Go语言中接口的使用

    深入理解Go语言中接口的使用

    在现代编程语言中,接口是不可或缺的一个重要特性,这篇文章将为大家详细介绍Go语言中的接口,从而能够更好得使用Go语言,需要的可以参考一下
    2023-06-06
  • go module使用本地包的方法示例

    go module使用本地包的方法示例

    这篇文章主要介绍了go module使用本地包的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 一文带你理解Golang中的Time结构

    一文带你理解Golang中的Time结构

    根据golang的time包的文档可以知道,golang的time结构中存储了两种时钟,一种是Wall Clocks,一种是Monotonic Clocks,下面我们就来简单了解一下这两种结构吧
    2023-09-09

最新评论