最近下载了一些GO语言的项目,需要自行编译成各个平台的可执行文件。编译时老是提示我各种环境变量的报错,这里记录一下一遍过的设置,备忘。

0x01 安装GO

直接通过Brew进行安装快捷又方便,挂代理可进行加速,参考这里

brew install go

install

0x02 环境变量

Mac终端默认修改~/.bash_profile文件,安装zsh后修改~/.zshrc,最后记得source一下。环境变量路径根据每个人的安装目录可能会有所不同

export GOROOT="/usr/local/Cellar/go/1.17.6/libexec" #GO安装根目录,因人而异
export GOPATH="/Users/mari0er/Documents/go" #这是你的GO工作目录,自定义
export PATH="/Users/mari0er/Documents/go/bin:$PATH"
export GO111MODULE=on
export GOPROXY=https://mirrors.aliyun.com/goproxy/ #代理GO到aliyun加速

之后在你的工作目录下新建三个文件夹srcpkgbin

src目录:即source,用来存放源代码
pkg目录:即package,用来存放编译后的文件
bin目录:即binary,用来存放编译后生成的二进制的可执行文件

0x03 进行编译

将下载的GO项目源文件夹,放入你的src目录当中
tree
进入项目源文件夹,根据平台需要进行编译

#Windows平台
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
#Linux平台
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
#Mac平台
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go