在Windows上编译GO程序以在Linux上部署

时间:2018-05-03 03:39:00

标签: linux windows go

我想在Windows环境下开发并安装了1.10.1 ...我需要在Linux上部署我的程序。有没有办法构建go程序并指定为linux构建。我看过很多关于从linux到windows的文档,但不是相反。

我尝试过的最有希望的例子:

set GOOS=linux 
set GOARCH=amd64 
go build filename.go

- >这只是建立一个exe ..

1 个答案:

答案 0 :(得分:2)

我可以确认您尝试实现的目标在Windows 7和Windows 10上适用于我1.12.2。 要检查go安装是否支持所需目标,请运行以下命令:

go tool dist list | find "linux/amd64"

您应确保设置环境变量时没有任何其他或隐藏空格,请按以下方式设置:

set GOOS=linux
set GOARCH=amd64

然后验证,例如这样:

echo !%GOOS%!
echo !%GOARCH%!

如果组合无效,您应该收到以下消息:

  

cmd / go:不支持的GOOS / GOARCH对linux / amd64

在此之后运行您的构建:

go build -v -x -o foreign_linux foreign.go

根据Volkers的建议,您可以检查创建的二进制文件是否真的是Linux二进制文件:

type foreign_linux

你会收到一些神秘的人物,但在第一行的开头应该是ELF。如果是exe,您会看到MZ

enter image description here