Go环境详解

最近在使用beego的工具bee时遇到了一些问题,翻来覆去的配置也从中重新的认识了go的一些环境变量的作用和配置。这里梳理和整理下,仅仅是自己的理解。

  • 查看go的配置 go env
  • 修改配置可以使用 go env -w GOPATH=D:\Go

常规指定

一般在安装和配置时有一些建议。
1.建议不要装c盘有权限操作的一些问题。
2.不建议将GOPATH和GOROOT指向相同的路径,当然现在都基于mod了会好点。但还是不建议,GOPATH目录下会生成一些用户开发项目时的一些依赖包等。
3.建议指定GOBIN 并配置下环境变量,这样在build的后的包

# GOROOT
GOROOT=C:\Program Files\Go   #一般指go的安装程序所在目录,里面存放了大概9个文件夹 各文件夹的含义就不在此说了

GOPATH=C:\Users\pro91\go  #值用户创建的开发项目的目录,
GOBIN=D:\Program Files\Go\bin
GOBIN=C:\Program Files\Go\bin  #这个默认没有指定,但是如果指定,当你下载的一些工具的打包文件.exe 都会在打包后cp到该目录下一份,方便环境支持执行。 在win环境下的c盘有权限问题。会报权限不够。

GOCACHE=C:\Users\pro91\AppData\Local\go-build #就是build是可执行文件临时放的目录,指定了GOBIN会在生成后从该目录copy到GOBIN目录下一份。

GOENV=C:\Users\pro91\AppData\Roaming\go\env  #环境变量存储的所在位置。


GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64   #工具文件夹,这个目录默认是在%GOROOT%追加的pkg\tool\windows_amd64

GOMODCACHE=C:\Users\pro91\go\pkg\mod  #是mo项目下载的包存放的缓存目录


安装配置

  • 安装go程序到D:\Program Files\Go 即 GOROOT=D:\Program Files\Go
  • 设置环境变量PATH = D:\Program Files\Go\bin\
  • go env -w GOPROXY=‘https://goproxy.cn/,direct
set GO111MODULE=
set GOARCH=amd64
set GOBIN=D:\Program Files\Go\bin
set GOCACHE=C:\Users\pro91\AppData\Local\go-build
set GOENV=C:\Users\pro91\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:\Program Files\Go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=D:\wwwroot
set GOPRIVATE=
set GOPROXY=https://goproxy.cn/,direct
set GOROOT=D:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.17.10
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=D:\Program Files\Go\src\go.mod
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 -fmessage-length=0 -fdebug-prefix-map=C:\Users\pro91\AppData\Local\Temp\go-build203443272=/tmp/go-build -gno-record-gcc-switches
#其中bin 和 path 需要在系统环境变量和系统用户变量内修改的。
go env -w GOENV='D:\Program Files\Go\env'  ##这个只能在环境变量内设置
GOPROXY=https://goproxy.cn/,direct
GOROOT=D:\Program Files\Go
GOBIN=D:\Program Files\Go\bin
GOMODCACHE=D:\Program Files\Go\pkg\mod
GOPATH=D:\wwwroot



go env -w GOPROXY='https://goproxy.cn/,direct'
go env -w GOROOT='D:\Program Files\Go'
go env -w GOBIN='D:\Program Files\Go\bin'
go env -w GOMODCACHE='D:\Program Files\Go\pkg\mod'
go env -w GOPATH='D:\wwwroot'


❯ go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=D:\Program Files\Go\bin
set GOCACHE=C:\Users\pro91\AppData\Local\go-build
set GOENV=C:\Users\pro91\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:\Program Files\Go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=D:\wwwroot
set GOPRIVATE=
set GOPROXY=https://goproxy.cn/,direct
set GOROOT=D:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.17.10
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
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 -fmessage-length=0 -fdebug-prefix-map=C:\Users\pro91\AppData\Local\Temp\go-build2896333002=/tmp/go-build -gno-record-gcc-switches

https://blog.csdn.net/peng2hui1314/article/details/119936821

$GOOS$GOARCH描述
darwinamd64Mac 64 位系统
darwinarm64Mac 64 位系统(ARM)
linux386Linux 32 位系统
linuxamd64Linux 64 位系统
linuxarmLinux 32 位系统(ARM)
linuxarm64Linux 64 位系统(ARM)
windows386Windows 32 位系统
windowsamd64Windows 64 位系统
windowsarmWindows 32 位系统(ARM)
windowsarm64Windows 64 位系统(ARM)

编译方法

# 在命令行进入项目根目录,并执行以下命令
CGO_ENABLED=0 
GOOS=xxx 
GOARCH=xxx 
go build -0 swagger.exe main.go
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值