我刚开始在Windows 7上学习golang。
go env
,我得到了这个:
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=E:\Workbench\Go
set GORACE=
set GOROOT=C:\DevTools\Go
set GOTOOLDIR=C:\DevTools\Go\pkg\tool\windows_amd64
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
然后我在命令行中使用echo %envVar%
进行了检查,发现了env vars,如:
GOPATH
GOROOT
但是找不到其他人。
那么他们存放在哪里?一些隐藏的配置文件?
答案 0 :(得分:6)
这些只是您平台的默认设置。将它们视为存储在go.exe可执行文件本身中。
您可以通过将它们设置为其他任何其他env var。
来覆盖它们答案 1 :(得分:3)
与@David Budworth所说的一样,这些变量是您平台的默认值。
大多数情况下,我们会更改$GOPATH
和$GOROOT
个变量。例如,在我的PC中,我使用export GOPATH=/home/user/go
,你的可能与我的不同。
否则,如果您想查找存储其他变量的位置,您需要查看/usr/lib/go-1.6/src
(对不起我现在使用Ubuntu
并执行1.6并且我不知道知道在Windows中的go的路径目录,你会发现在构建bash
时使用了很多go executable
scripts。
例如:
在文件中:make.bash您会看到:$GROOT
已在此处声明并用于构建最终go executable
:
export GOROOT="$(cd .. && pwd)"
我也看到了您对GOTOOLDIR
的评论以及它如何知道您的安装位置。我会说,go的源代码有答案,你可以找到它here:
// ToolDir is the directory containing build tools.
var ToolDir = filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
修改强> 我找到了关于构建go的好文章:How GO uses to build itself
PS:抱歉我的英文。我不是母语为英语的人。
答案 2 :(得分:1)
请在命令提示符下键入以下命令
> go env GOENV
/root/.config/go/env
答案 3 :(得分:0)
在go1.13中,自定义的GOENV存储在GOENV中,这由系统环境变量指定。如果未指定,将使用默认值'$ HOME / .config / go / env'。
>$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN="/home/leonardo/go/bin"
GOCACHE="/home/leonardo/.cache/go-build"
GOENV="/home/leonardo/.config/go/env" # if system environment 'GOENV' is empty, the default value '$HOME/.config/go/env' will be used.
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/leonardo/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct" # default value is "https://proxy.golang.org,direc"
>$ cat /home/leonardo/.config/go/env
GOPROXY=https://goproxy.cn,direct
在此文件中以“ KEY = VALUE”形式定义的环境变量将覆盖硬编码为https://github.com/golang/go/blob/57662b1575030aa09043cd7a48425abdc6e0e0a3/src/cmd/go/internal/cfg/cfg.go#L229的默认值
答案 4 :(得分:0)
默认情况下,{_ 1}}在mac_os上不存在。
env_file
执行“ env_file: $HOME/Library/Application Support/go/env
”后,go env -w $HOME/go
已创建。