跳转至

生产力换新 - 再见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 版本管理)、nrmcc-switchClaude 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,需要注意哪些工具链差异?
    • 确认结果:语言环境通过 uvnvm 可以实现隔离。但需要特别注意以下两点系统差异:
        1. 大小写敏感问题:Ubuntu 默认对文件名大小写敏感,而 Mac(APFS)默认不敏感。
        1. GNU 与 BSD 工具链差异:Ubuntu 使用的是 GNU 版本的命令行工具(如 sed, awk),而 Mac 自带的是 BSD 版本。

参考

  • Gemini
回到页面顶部