要在多个平台上使用 Go 打包 Linux 可执行文件,你需要使用交叉编译
-
确保你的开发环境中已经安装了 Go。你可以在命令行中输入
go version
来检查 Go 是否已经安装。如果没有安装,请访问 Go 官方网站 下载并安装。 -
设置
GOOS
和GOARCH
环境变量。这两个变量分别表示目标操作系统和目标架构。例如,要为 Linux amd64 平台构建可执行文件,你可以设置:export GOOS=linux export GOARCH=amd64
你还可以为其他平台设置相应的值,例如:
- Windows:
GOOS=windows
和GOARCH=amd64
(或386
) - macOS:
GOOS=darwin
和GOARCH=amd64
(或arm64
)
- Windows:
-
使用
go build
命令构建可执行文件。这将生成一个可执行文件,其名称由包名、操作系统和架构组成。例如,如果你的包名为main
,则生成的可执行文件名为main_linux_amd64
(或main_linux_386
、main_darwin_amd64
等)。go build -o main_linux_amd64 main.go
这将在当前目录下生成一个名为
main_linux_amd64
的可执行文件。 -
如果你需要为多个平台构建可执行文件,可以使用循环或其他自动化工具(如
Makefile
或bash
脚本)来简化构建过程。例如,以下Makefile
示例将为 Linux amd64 和 macOS amd64 平台构建可执行文件:OSES = linux darwin ARCHES = amd64 build: for os in $(OSES); do \ for arch in $(ARCHES); do \ GOOS=$os GOARCH=$arch go build -o main_$(os)_$(arch) main.go; \ done; \ done
保存此文件为
Makefile
,然后在命令行中输入make
。这将自动为所有指定的平台和架构构建可执行文件。
通过以上步骤,你可以在多个平台上使用 Go 打包 Linux 可执行文件。