Go语言跨平台打包

使用 windows 电脑,打包二进制文件到 linux 服务器运行,先说一下在网上看到的

网上的都是直接

set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build

据说这样写是临时改一下 env 的配置,方便打包,看他们的效果图也是没有毛病,打包出了不带.exe 后缀的二进制文件,不知为何我用这种方法打包总是打包 windows 平台使用的带.exe 后缀的文件

解决办法就是用 go env -w 命令永久修改,改完打包后再改回去

go env -w CGO_ENABLED=0
go env -w GOOS=linux
go env -w GOARCH=arm64

原:

go env -w CGO_ENABLED=1
go env -w GOOS=windows
go env -w GOARCH=amd64

GOARCH 在哪个 linux 机器运行,根据 linux 架构来改,我的是 arm64 所以改 arm64
要发布的包使用以下命令打包,去除乱七八糟的体积更小

go build -ldflags "-w -s" main.go,加上ldflags参数,-s去掉了符号表信息,-w去掉了调试信息,之后不能使用gdb调试

在 linux 终端运行时 cd 到文件所在目录直接运行即可,输入以下命令可以持续在后台跑
参考linux 后台执行命令:&和 nohup

举例
nohup ./main >main.log 2>&1 &
nohup 执行命令 >输出文件 2>&1解析 持续运行

❀❀❀❀❀❀ 完结散花 ❀❀❀❀❀❀

Written ❤️ sywdebug.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值