您现在的位置是:亿华云 > IT科技
小技巧!Mac 环境下编译 Go 服务
亿华云2025-10-08 23:20:52【IT科技】1人已围观
简介本文转载自微信公众号「董泽润的技术笔记」,作者董泽润。转载本文请联系董泽润的技术笔记公众号。背景本篇分享来源于上午和同事的讨论。大部分工程师都使用 Mac 做为开发环境,平常 local 编译 go
本文转载自微信公众号「董泽润的小技下编技术笔记」,作者董泽润。环境转载本文请联系董泽润的小技下编技术笔记公众号。
背景
本篇分享来源于上午和同事的环境讨论。大部分工程师都使用 Mac 做为开发环境,小技下编平常 local 编译 go 代码没什么问题,环境偶尔需要 linux binary,小技下编 交叉编译足够了
GOOS=linux GOARCH=amd64 go build main.go比如上面指定 GOOS 是 linux, GOARCH 平台是 amd64. 但还是有些场景,Mac 无法解决
使用 CGO 的云服务器环境代码 想使用 gdb 去调试第二个场景 gdb 我还折腾过一段时间,始终无法像 linux 平台那样完美。小技下编以前很蠢的环境,总是小技下编将代码 clone 到 linux 开发机上。难道无法解决了嘛?环境
Docker
解决办法就是:Docker 启动 ubuntu 虚拟机,然后挂载本地 GOPATH 目录到容器中
让我们来看下操作细节:
安装 docker for mac 可以自行 google,小技下编 这里要注意调大 cpu 和 memory, 否则编译大型代码时内存不足。
~$ docker pull ubuntu ~$ docker create -ti --cpus 6 -m 6GB --privileged --name sextant -v /Users/zerun.dong/:/root/zerun.dong ubuntu bash -l ~$ docker start -ai sextant上面命令分别是环境下载 ubuntu 镜像,创建名为 sextant 的小技下编容器,高防服务器最后再启动
这里面 -cpus -m 用来设置资源,少了不够用。/Users/zerun.dong/:/root/zerun.dong 用于将本机目录挂载到容器中的 /root/zerun.dong 下面,privileged 允许容器对宿机主 root 权限
进到容器后,需要再安装 go binary, 然后设置好 GOPATH, PATH, GOROOT 后即可进行编译
成功后就会在 Mac 本机留下 linux binary, 也可直接在容器中用 gdb 进行调试,非常方便
~$ docker ps -a | grep -i ubuntu ~$ docker commit d497d0fee14d ubuntu:go当然建议使用 docker commit 保存刚才的容器运行时,这样下次就可以直接使用 ubuntu:go 镜像,然后编译,省去刚才的操作步骤
很赞哦!(47868)
相关文章
- 要如何了解反向解析和域名解析?新手该怎么去操作?
- 为什么我不允许开发人员修改测试环境的MySQL Schema
- 一篇带你用纯CSS实现beautiful按钮
- 技能篇:Git的简易教程
- 如果你的潜在终端必须是这个米(域名),那么潜在终端并不多,也没有硬通货,那么你的域名应该在终端有兴趣购买时出售。否则,你可能得自己留着吃。
- 面试官:说说你在React项目是如何捕获错误的?
- 使用 AirFlow 调度 MaxCompute
- 完全解读 OpenPyXL 设置 Excel 单元格样式
- 前面这两个步骤都是在本机完成的。到这里还没有涉及真正的域名解析服务器,如果在本机中仍然无法完成域名的解析,就会真正请求域名服务器来解析这个域名了。
- Kubernetes限制节点启动的Pod数量