首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >go env 命令详解

go env 命令详解

作者头像
恋喵大鲤鱼
发布2024-03-29 11:18:14
发布2024-03-29 11:18:14
3.4K0
举报
文章被收录于专栏:C/C++基础C/C++基础
文章目录

1.简介

go env 用于查看和设置 Go 环境变量。

默认情况下 go env 输出格式为 Shell 脚本格式(如 Windows 上是 batch 文件格式)。如果指定变量名称,则只输出变量的值。

2.格式

代码语言:javascript
复制
go env [-json] [-u] [-w] [var ...]

其中 -json 表示以 JSON 格式输出而不是 Shell 脚本格式。

-u 表示 unset,取消环境变量。

-w 表示 write,设置环境变量。

3.示例

(1)查看 Go 所有环境变量。

代码语言:javascript
复制
#  Linux 环境查看 Go 所有环境变量
go env
GOARCH="amd64"
GOBIN="/data/home/go_proj/going_proj/bin"
GOCACHE="/home/dablelv/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/dablelv:/data/home/go_proj/going_proj"
GORACE=""
GOROOT="/usr/local/go"
...

# Windows 环境查看 Go 所有环境变量
go env
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\dablelv\AppData\Local\go-build
set GOENV=C:\Users\dablelv\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
...

(2)查看指定环境变量

代码语言:javascript
复制
go env NAME

(3)以 JSON 格式显示指定环境变量。

代码语言:javascript
复制
go env -json GOROOT
{
	"GOROOT": "C:\\Users\\dablelv\\.go\\1.22.1\\go"
}

(4)删除环境变量。

代码语言:javascript
复制
go env -u NAME

(5)设置环境变量

代码语言:javascript
复制
go env -w NAME=VALUE

(6)查看 go env 的帮助信息。

代码语言:javascript
复制
go help env
usage: go env [-json] [-u] [-w] [var ...]

Env prints Go environment information.

By default env prints information as a shell script
(on Windows, a batch file). If one or more variable
names is given as arguments, env prints the value of
each named variable on its own line.

The -json flag prints the environment in JSON format
instead of as a shell script.

The -u flag requires one or more arguments and unsets
the default setting for the named environment variables,
if one has been set with 'go env -w'.

The -w flag requires one or more arguments of the
form NAME=VALUE and changes the default settings
of the named environment variables to the given values.

For more about environment variables, see 'go help environment'.

4.环境变量

Go 环境变量是一些配置信息,可以影响 Go 程序的依赖管理、编译构建和运行环境和等方面。

常见环境变量有:

变量

含义

GOROOT

go 语言安装时所在的目录绝对路径

GOPATH

工作区所在的绝对目录

GOVERSION

安装的 Go 版本

GOENV

Go 环境变量配置文件的位置。不能使用 ‘go env -w’ 设置。若设置 GOENV=off 将禁用默认配置文件的使用。

GOOS

编译代码的操作系统名称(比如 linux,windows,darwin 等)

GOARCH

计算机处理器的架构(比如 amd64,386,arm 等)

GOPROXY

Go Modules 的代理地址(URL),用于加速下载 Go 模块

GOSUMDB

要使用的校验和数据库的名称以及可选的公钥和URL。详见 https://golang.org/ref/mod#authenticating

GOPRIVATE, GONOPROXY, GONOSUMDB

以 glob 模式表示的模块路径,多个使用逗号分隔。这些模式应该总是直接获取,不走代理拉去,且不参与校验。详见 https://golang.org/ref/mod#private-modules

GOCACHE

存储编译后信息的缓存目录

GODEBUG

启用各种调试工具。详见https://go.dev/doc/godebug。

GO111MODULE

用于控制 Go Modules 的行为,可以设置为 on、off 或 auto。如果设置为 on,则 Go Modules 模式将被启用;如果设置为 off,则禁用 Go Modules 模式;如果设置为 auto,则根据当前目录下是否存在 go.mod 文件来判断是否启用 Go Modules 模式。在 Go 1.13 中,GO111MODULE 的默认值为 auto,即自动启用 Go Modules 模式。这意味着,如果在项目目录下存在 go.mod 文件,则会自动启用 Go Modules 模式,否则会使用传统的 GOPATH 模式。

GOINSECURE

表示以 glob 模式表示的模块路径,多个使用逗号分隔。支持以不安全的 HTTP 连接下载模块

GOMAXPROCS

用于控制 Go 程序中可同时执行的最大 CPU 数量。默认值为 CPU 核心数量。可以通过设置 GOMAXPROCS 的值来提高程序的并发性能。

以上仅部分环境变量,查看所有 Go 环境变量可使用命令:go help environment


参考文献

Command Documentation About the go command go command - cmd/go

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 1.简介
  • 2.格式
  • 3.示例
  • 4.环境变量
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档