古老的榕树

Go 交叉编译部署

潘军杰 发表于 2022-01-02 22:09 阅读(1229) 评论(6) 赞(24)

Go 服务部署在 Linux 服务器上,比如我常用 Debian 部署 Go 写的微服务,都懒得在服务器上安装设置 Go 语言环境了,直接在本地 PC 机编译为 Go 二进制文件,放在任意文件夹下,启动即可。

但是自己开发的环境不是 Linux 系统,可能是 Windows 或 MacOS ,这是就用到交叉编译了,什么交叉编译? 交叉编译,就是打包的系统和执行的系统不一致,打包的时候,需要告诉 Go 编译器,要编译成执行(服务器)系统兼容的包,

# MacOS 打包 Linux 64 系统的包
GOOS=linux GOARCH=amd64 go build -ldflags "-w -s"

# Windows 10 打包 Linux  64 系统的包
$env:GOOS="linux"
$env:GOARCH="amd64"
go build -ldflags "-w -s"


6 条网友评论

1 楼: 潘军杰 (博主) 发表于 2022-01-03 00:46:12   回复 TA

remark

2 楼: hul 发表于 2022-01-08 12:32:01   回复 TA

引用"潘军杰"的评论

remark
remark too

3 楼: 盖世英雄 发表于 2022-01-09 19:56:21   回复 TA

引用"潘军杰"的评论

remark

引用"hul"的评论

remark too
remark

4 楼: 潘军杰 (博主) 发表于 2022-01-16 12:11:05   回复 TA

引用"潘军杰"的评论

remark

引用"hul"的评论

remark too

引用"盖世英雄"的评论

remark
啥东西?乱来啊

5 楼: 潘军杰 (博主) 发表于 2022-01-16 12:12:41   回复 TA

啥东西?乱来啊

6 楼: 潘军杰 (博主) 发表于 2022-01-16 12:13:29   回复 TA

引用"潘军杰"的评论

remark

引用"hul"的评论

remark too

引用"盖世英雄"的评论

remark

引用"潘军杰"的评论

啥东西?乱来啊
啥东西?乱来啊
称呼*
邮箱*
内容*
验证码*
验证码 看不清换张