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实现大文件上传功能全过程

    golang实现大文件上传功能全过程

    Go语言可以用来实现大文件传输,下面这篇文章主要给大家介绍了关于golang实现大文件上传功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法

    Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法

    这篇文章主要介绍了Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法,实例分析了客户端的开发技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • 浅析golang github.com/spf13/cast 库识别不了自定义数据类型

    浅析golang github.com/spf13/cast 库识别不了自定义数据类型

    这篇文章主要介绍了golang github.com/spf13/cast库识别不了自定义数据类型,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • go-zero服务部署配置及源码解读

    go-zero服务部署配置及源码解读

    这篇文章主要为大家介绍了go-zero服务部署配置及源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 解析go语言调用约定多返回值实现原理

    解析go语言调用约定多返回值实现原理

    这篇文章主要为大家介绍了解析go语言调用约定多返回值实现原理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • golang的串行处理和并行处理区别

    golang的串行处理和并行处理区别

    golang对比其它语言最大的优势就是并行计算(一个go就能实现并发),工作中经常遇到并发的场景, 本文主要介绍了golang的串行处理和并行处理,感兴趣的可以了解一下
    2021-07-07
  • Go语言单元测试基础从入门到放弃

    Go语言单元测试基础从入门到放弃

    这篇文章主要介绍了Go单元测试基础从入门到放弃为大家开启Go语言单元测试第一篇章,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • GoLand编译带有构建标签的程序思路详解

    GoLand编译带有构建标签的程序思路详解

    这篇文章主要介绍了GoLand编译带有构建标签的程序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • go语言实战之实现比特币地址校验步骤

    go语言实战之实现比特币地址校验步骤

    这篇文章主要介绍了go语言实战之实现比特币地址校验步骤,利用生产的随机数采用椭圆加密算法生成公钥,具体步骤实例代码请参考下本文
    2021-05-05
  • Go和Java算法详析之分数到小数

    Go和Java算法详析之分数到小数

    这篇文章主要给大家介绍了关于Go和Java算法详析之分数到小数的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-08-08

最新评论