Golang命令行工具 go env

go env :查看go环境变量

复制代码
C:\Program Files\Go\src>go env
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\qingshuic\AppData\Local\go-build
set GOENV=C:\Users\qingshuic\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\qingshuic\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\qingshuic\go
set GOPRIVATE=
set GOPROXY=https://goproxy.cn,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.18.1
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=C:\Program Files\Go\src\go.mod
set GOWORK=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\tmp\go-
build3432994836=/tmp/go-build -gno-record-gcc-switches
复制代码

go help env :查看 go env 帮助命令

复制代码
C:\Program Files\Go\src>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'.
复制代码
go help environment 环境变量帮助
复制代码
C:\Program Files\Go\src>go help environment
The go command and the tools it invokes consult environment variables
for configuration. If an environment variable is unset, the go command
uses a sensible default setting. To see the effective setting of the
variable <NAME>, run 'go env <NAME>'. To change the default setting,
run 'go env -w <NAME>=<VALUE>'. Defaults changed using 'go env -w'
are recorded in a Go environment configuration file stored in the
per-user configuration directory, as reported by os.UserConfigDir.
The location of the configuration file can be changed by setting
the environment variable GOENV, and 'go env GOENV' prints the
effective location, but 'go env -w' cannot change the default location.
See 'go help env' for details.

General-purpose environment variables:

        GO111MODULE
                Controls whether the go command runs in module-aware mode or GOPATH mode.
                May be "off", "on", or "auto".
                See https://golang.org/ref/mod#mod-commands.
        GCCGO
                The gccgo command to run for 'go build -compiler=gccgo'.
        GOARCH
                The architecture, or processor, for which to compile code.
                Examples are amd64, 386, arm, ppc64.
        GOBIN
                The directory where 'go install' will install a command.
        GOCACHE
                The directory where the go command will store cached
                information for reuse in future builds.
        GOMODCACHE
                The directory where the go command will store downloaded modules.
        GODEBUG
                Enable various debugging facilities. See 'go doc runtime'
                for details.
        GOENV
                The location of the Go environment configuration file.
                Cannot be set using 'go env -w'.
                Setting GOENV=off in the environment disables the use of the
                default configuration file.
        GOFLAGS
                A space-separated list of -flag=value settings to apply
                to go commands by default, when the given flag is known by
                the current command. Each entry must be a standalone flag.
                Because the entries are space-separated, flag values must
                not contain spaces. Flags listed on the command line
                are applied after this list and therefore override it.
        GOINSECURE
                Comma-separated list of glob patterns (in the syntax of Go's path.Match)
                of module path prefixes that should always be fetched in an insecure
                manner. Only applies to dependencies that are being fetched directly.
                GOINSECURE does not disable checksum database validation. GOPRIVATE or
                GONOSUMDB may be used to achieve that.
        GOOS
                The operating system for which to compile code.
                Examples are linux, darwin, windows, netbsd.
        GOPATH
                For more details see: 'go help gopath'.
        GOPROXY
                URL of Go module proxy. See https://golang.org/ref/mod#environment-variables
                and https://golang.org/ref/mod#module-proxy for details.
        GOPRIVATE, GONOPROXY, GONOSUMDB
                Comma-separated list of glob patterns (in the syntax of Go's path.Match)
                of module path prefixes that should always be fetched directly
                or that should not be compared against the checksum database.
                See https://golang.org/ref/mod#private-modules.
        GOROOT
                The root of the go tree.
        GOSUMDB
                The name of checksum database to use and optionally its public key and
                URL. See https://golang.org/ref/mod#authenticating.
        GOTMPDIR
                The directory where the go command will write
                temporary source files, packages, and binaries.
        GOVCS
                Lists version control commands that may be used with matching servers.
                See 'go help vcs'.
        GOWORK
                In module aware mode, use the given go.work file as a workspace file.
                By default or when GOWORK is "auto", the go command searches for a
                file named go.work in the current directory and then containing directories
                until one is found. If a valid go.work file is found, the modules
                specified will collectively be used as the main modules. If GOWORK
                is "off", or a go.work file is not found in "auto" mode, workspace
                mode is disabled.

Environment variables for use with cgo:

        AR
                The command to use to manipulate library archives when
                building with the gccgo compiler.
                The default is 'ar'.
        CC
                The command to use to compile C code.
        CGO_ENABLED
                Whether the cgo command is supported. Either 0 or 1.
        CGO_CFLAGS
                Flags that cgo will pass to the compiler when compiling
                C code.
        CGO_CFLAGS_ALLOW
                A regular expression specifying additional flags to allow
                to appear in #cgo CFLAGS source code directives.
                Does not apply to the CGO_CFLAGS environment variable.
        CGO_CFLAGS_DISALLOW
                A regular expression specifying flags that must be disallowed
                from appearing in #cgo CFLAGS source code directives.
                Does not apply to the CGO_CFLAGS environment variable.
        CGO_CPPFLAGS, CGO_CPPFLAGS_ALLOW, CGO_CPPFLAGS_DISALLOW
                Like CGO_CFLAGS, CGO_CFLAGS_ALLOW, and CGO_CFLAGS_DISALLOW,
                but for the C preprocessor.
        CGO_CXXFLAGS, CGO_CXXFLAGS_ALLOW, CGO_CXXFLAGS_DISALLOW
                Like CGO_CFLAGS, CGO_CFLAGS_ALLOW, and CGO_CFLAGS_DISALLOW,
                but for the C++ compiler.
        CGO_FFLAGS, CGO_FFLAGS_ALLOW, CGO_FFLAGS_DISALLOW
                Like CGO_CFLAGS, CGO_CFLAGS_ALLOW, and CGO_CFLAGS_DISALLOW,
                but for the Fortran compiler.
        CGO_LDFLAGS, CGO_LDFLAGS_ALLOW, CGO_LDFLAGS_DISALLOW
                Like CGO_CFLAGS, CGO_CFLAGS_ALLOW, and CGO_CFLAGS_DISALLOW,
                but for the linker.
        CXX
                The command to use to compile C++ code.
        FC
                The command to use to compile Fortran code.
        PKG_CONFIG
                Path to pkg-config tool.

Architecture-specific environment variables:

        GOARM
                For GOARCH=arm, the ARM architecture for which to compile.
                Valid values are 5, 6, 7.
        GO386
                For GOARCH=386, how to implement floating point instructions.
                Valid values are sse2 (default), softfloat.
        GOAMD64
                For GOARCH=amd64, the microarchitecture level for which to compile.
                Valid values are v1 (default), v2, v3, v4.
                See https://golang.org/wiki/MinimumRequirements#amd64
        GOMIPS
                For GOARCH=mips{,le}, whether to use floating point instructions.
                Valid values are hardfloat (default), softfloat.
        GOMIPS64
                For GOARCH=mips64{,le}, whether to use floating point instructions.
                Valid values are hardfloat (default), softfloat.
        GOPPC64
                For GOARCH=ppc64{,le}, the target ISA (Instruction Set Architecture).
                Valid values are power8 (default), power9.
        GOWASM
                For GOARCH=wasm, comma-separated list of experimental WebAssembly features to use.
                Valid values are satconv, signext.

Special-purpose environment variables:

        GCCGOTOOLDIR
                If set, where to find gccgo tools, such as cgo.
                The default is based on how gccgo was configured.
        GOEXPERIMENT
                Comma-separated list of toolchain experiments to enable or disable.
                The list of available experiments may change arbitrarily over time.
                See src/internal/goexperiment/flags.go for currently valid values.
                Warning: This variable is provided for the development and testing
                of the Go toolchain itself. Use beyond that purpose is unsupported.
        GOROOT_FINAL
                The root of the installed Go tree, when it is
                installed in a location other than where it is built.
                File names in stack traces are rewritten from GOROOT to
                GOROOT_FINAL.
        GO_EXTLINK_ENABLED
                Whether the linker should use external linking mode
                when using -linkmode=auto with code that uses cgo.
                Set to 0 to disable external linking mode, 1 to enable it.
        GIT_ALLOW_PROTOCOL
                Defined by Git. A colon-separated list of schemes that are allowed
                to be used with git fetch/clone. If set, any scheme not explicitly
                mentioned will be considered insecure by 'go get'.
                Because the variable is defined by Git, the default value cannot
                be set using 'go env -w'.

Additional information available from 'go env' but not read from the environment:

        GOEXE
                The executable file name suffix (".exe" on Windows, "" on other systems).
        GOGCCFLAGS
                A space-separated list of arguments supplied to the CC command.
        GOHOSTARCH
                The architecture (GOARCH) of the Go toolchain binaries.
        GOHOSTOS
                The operating system (GOOS) of the Go toolchain binaries.
        GOMOD
                The absolute path to the go.mod of the main module.
                If module-aware mode is enabled, but there is no go.mod, GOMOD will be
                os.DevNull ("/dev/null" on Unix-like systems, "NUL" on Windows).
                If module-aware mode is disabled, GOMOD will be the empty string.
        GOTOOLDIR
                The directory where the go tools (compile, cover, doc, etc...) are installed.
        GOVERSION
                The version of the installed Go tree, as reported by runtime.Version.
复制代码


    go env xxx :查看指定配置

   
C:\Program Files\Go\src>go env GOVERSION
go1.18.1

 

  • go env -json : 以json格式输出配置

复制代码
C:\Program Files\Go\src>go env -json
{
        "AR": "ar",
        "CC": "gcc",
        "CGO_CFLAGS": "-g -O2",
        "CGO_CPPFLAGS": "",
        "CGO_CXXFLAGS": "-g -O2",
        "CGO_ENABLED": "1",
        "CGO_FFLAGS": "-g -O2",
        "CGO_LDFLAGS": "-g -O2",
        "CXX": "g++",
        "GCCGO": "gccgo",
        "GO111MODULE": "on",
        "GOAMD64": "v1",
        "GOARCH": "amd64",
        "GOBIN": "",
        "GOCACHE": "C:\\Users\\qingshuic\\AppData\\Local\\go-build",
        "GOENV": "C:\\Users\\qingshuic\\AppData\\Roaming\\go\\env",
        "GOEXE": ".exe",
        "GOEXPERIMENT": "",
        "GOFLAGS": "",
        "GOGCCFLAGS": "-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:
\\tmp\\go-build3856010262=/tmp/go-build -gno-record-gcc-switches",
        "GOHOSTARCH": "amd64",
        "GOHOSTOS": "windows",
        "GOINSECURE": "",
        "GOMOD": "C:\\Program Files\\Go\\src\\go.mod",
        "GOMODCACHE": "C:\\Users\\qingshuic\\go\\pkg\\mod",
        "GONOPROXY": "",
        "GONOSUMDB": "",
        "GOOS": "windows",
        "GOPATH": "C:\\Users\\qingshuic\\go",
        "GOPRIVATE": "",
        "GOPROXY": "https://goproxy.cn,direct",
        "GOROOT": "C:\\Program Files\\Go",
        "GOSUMDB": "sum.golang.org",
        "GOTMPDIR": "",
        "GOTOOLDIR": "C:\\Program Files\\Go\\pkg\\tool\\windows_amd64",
        "GOVCS": "",
        "GOVERSION": "go1.18.1",
        "GOWORK": "",
        "PKG_CONFIG": "pkg-config"
}
复制代码
  • go env -w xxx : 设置env

    go env -w GO111MODULE=on
  • go env -u GOPROXY : 取消env配置

    go env -u GOPROXY

     

 

posted @   jinzi  阅读(179)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示