You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境编译Go程序部署至Linux的方法咨询

当然可以在Windows下编译Go程序到Linux!

你遇到的问题其实是Windows命令行里环境变量设置的语法问题——你的命令把三个操作写在一行却没有正确分隔,导致GOOS和GOARCH的设置根本没生效,Go还是用默认的Windows目标来编译了。

正确的操作步骤(分两种终端环境):

1. 如果你用的是Windows CMD:

你需要把环境变量设置和编译命令分开执行,或者用&&来串联命令(确保前一个命令执行成功后再执行下一个):

# 方式一:分步执行
set GOOS=linux
set GOARCH=amd64
go build filename.go

# 方式二:一行串联执行
set GOOS=linux && set GOARCH=amd64 && go build filename.go

2. 如果你用的是PowerShell:

语法和CMD不一样,要使用PowerShell的环境变量赋值方式:

# 方式一:分步执行
$env:GOOS="linux"
$env:GOARCH="amd64"
go build filename.go

# 方式二:一行串联执行
$env:GOOS="linux"; $env:GOARCH="amd64"; go build filename.go

验证结果:

编译完成后,你会得到一个没有.exe后缀的文件,这就是Linux x86_64架构的可执行程序了。你可以把它传到Linux机器上,赋予执行权限(chmod +x filename)后直接运行。

另外补充一下:Go从1.5版本开始就内置了交叉编译支持,不需要额外安装任何跨平台编译工具链,你的Go 1.10.1完全满足要求,只要环境变量设置正确就没问题~

内容的提问来源于stack exchange,提问作者LCaraway

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:31:38