生产力换新 - 再见Ubuntu 你好 MacOS
2026-05-20 by dongnan
环境描述
$ sw_vers
ProductName: macOS
ProductVersion: 26.4
BuildVersion: 25E246
$ nvm -v
0.40.4
$ node -v
v24.15.0
$ nrm -V
2.1.0
$ npm -v
11.12.1
$ pnpm -v
11.1.3
$ docker info
Client: Docker Engine - Community
Version: 29.5.1
$ colima --version
colima version 0.10.1
$ claude -v
2.1.145 (Claude Code)
核心目标
评估:新购一台 MacBook Air M5(15 寸 / 16GB / 512GB) 作为主力开发机,替代目前的 Ubuntu 电脑(i5/16GB/1TB)。
开发环境
在日常工作中,需要这台 Mac 能同时稳定跑起以下日常全家桶:
- Python 后端开发(两个服务同时运行)
- TypeScript + Vue 前端开发(Vite / Node dev server)
- Docker 基础环境(MySQL + Redis 两个容器)
- 常用社交软件:微信 / QQ
- 浏览器:常驻大约 10 个网页标签页
- VSCode:代码编写与检查
核心工具链:uv(Python 包管理)、nvm(Node 版本管理)、nrm、cc-switch、Claude Code(AI 编程辅助)。
核心诉求:性能够用,不要频繁卡顿。
生产环境
目前的生产环境是 Linux (x86_64 架构)。因此,从 x86 的 Ubuntu 迁移到 ARM 架构的 Mac M5,担心开发环境与生产环境发生架构冲突。
实践结果
- 16GB 内存够不够支撑上述多任务?
- 确认结果:中度开发足够了。Python + Node + 微信/QQ + 10个标签页 + Docker 两个容器 完全可以流畅运行。
- Docker Desktop 太重,是否能用 Colima 替代?
- 确认结果:完全可以,能有效降低资源占用。
- 注意,本地运行的 MySQL 和 Redis 容器务必明确指定使用
arm64原生镜像(如mysql:8.0已原生支持 ARM),尽量避免因跨架构转译(x86_64 到 ARM64)导致的 CPU 飙升与卡顿。
- ARM64 开发,生产 x86 Linux,会不会踩架构坑?
- 确认结果:只要规范开发流程,确保只同步源码和依赖锁文件(如
uv.lock/package-lock.json/pnpm-lock.yaml),并在生产环境进行全新构建,即可避开二进制坑。 - 注意,切勿将本地编译后的产物(如
node_modules)带入生产环境。
- 确认结果:只要规范开发流程,确保只同步源码和依赖锁文件(如
- 从 Ubuntu 迁移到 macOS,需要注意哪些工具链差异?
- 确认结果:语言环境通过
uv和nvm可以实现隔离。但需要特别注意以下两点系统差异:-
- 大小写敏感问题:Ubuntu 默认对文件名大小写敏感,而 Mac(APFS)默认不敏感。
-
- GNU 与 BSD 工具链差异:Ubuntu 使用的是 GNU 版本的命令行工具(如
sed,awk),而 Mac 自带的是 BSD 版本。
- GNU 与 BSD 工具链差异:Ubuntu 使用的是 GNU 版本的命令行工具(如
-
- 确认结果:语言环境通过
参考
- Gemini