背景

众所周知,go语言可打包成目标平台二进制文件是其一大优势,如此go项目在服务器不需要配置go环境和依赖就可跑起来。

操作

以下都是在Windows进行操作

  • 生成windows可执行文件(exe):

进入 main.go 目录执行

go build -o 文件名.exe main.go

会在同目录生成一个 文件名.exe 可执行文件

  • 生成Linux二进制文件
1
2
3
4
set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build

会在同目录生成 main 二进制文件

注:

在Linux系统下打包命令为:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

  • CGO_ENABLED 表示不使用cgo
  • GOOS 表示目标平台系统(Windows,linux,darwin「mac os」等等)
  • GOARCH 表示目标系统架构(arm arm64 386 amd64 等等)

参考文章:

Go语言build命令攻略

Go打包二进制文件的实现