在 Windows 上将 Go 项目打包成 Linux 可执行程序
打开命令提示符(cmd)或 PowerShell。
$env:GOOS = "linux"
$env:GOARCH = "amd64"
cd C:\workspace\golang\gin_alpha\cmd\
dir
go build -o myapp-linux
然后将生成的Linux可执行文件上传至服务器
授权当前用户执行权限
chmod +x myapp-linux
后台运行该程序
nohup ./myapp-linux &
build:
@echo "Building Linux binary program..."
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o <应用名> cmd/main.go
在Goland中建一个Makefile文件
| 参数 | 说明 |
|---|---|
CGO_ENABLED=0 |
禁用 CGO,生成纯静态链接的二进制文件,避免依赖系统的 C 库,方便跨平台编译 |
GOOS=linux |
目标操作系统是 Linux |
GOARCH=amd64 |
目标架构是 AMD64(即 64 位 x86 架构) |
go build |
Go 的编译命令 |
-ldflags="-w -s" |
传递给链接器的参数: |
-w |
去掉符号表,减小二进制文件体积 |
-s |
去掉调试信息,同样是减小二进制文件体积 |
-o app |
指定输出的二进制文件名为 app |
cmd/main.go |
指定要编译的入口文件 |

浙公网安备 33010602011771号