我想在Windows环境下开发并安装了1.10.1 ...我需要在Linux上部署我的程序。有没有办法构建go程序并指定为linux构建。我看过很多关于从linux到windows的文档,但不是相反。
我尝试过的最有希望的例子:
set GOOS=linux
set GOARCH=amd64
go build filename.go
- >这只是建立一个exe ..
答案 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
。