我实现了CLI,并使用Linux的go build命令生成了二进制文件。我在Mac OS上进行了测试,但无法正常工作。有没有一种方法可以构建在Windows,Linux和Mac中运行的二进制文件?
不同的操作系统支持不同的二进制格式。没有“所有人都能使用一个真正的二进制文件”。
但是Go支持开箱即用的交叉编译。您只需要将GOOS
和GOARCH
环境变量更改为要构建的目标平台。
例如如果要针对Mac OS进行构建,则可以执行以下操作:
GOOS=darwin GOARCH=amd64 go build
要为Windows构建:
GOOS=windows GOARCH=amd64 go build
相关问题:
Go 1.7 Cross Compilation from Windows to Linux/Ubuntu
How can I build for linux 32-bit with go1.6.2