Mac上清理node_modules是为了释放磁盘空间并避免同步工具反复传输无用小文件;可通过find命令递归定位删除、rimraf工具高效清除、npm缓存清理及启用pnpm和.gitignore规则防止复发。

Mac上清理node_modules垃圾文件,是为了释放被成千上万个依赖文件长期占用的磁盘空间,避免同步工具(如Synology Drive)反复传输无用小文件、拖慢开发流程。这类目录单个就可能达数百MB甚至数GB,且无法通过常规拖入废纸篓删除。
快速定位并批量删除项目内的node_modules
打开终端,进入目标项目根目录(不是用户主目录,也不是任意空文件夹)。
执行以下命令,递归查找当前目录及所有子目录下的node_modules文件夹:
【必须加 -depth 参数,否则 macOS 的 find 在遇到权限拒绝时可能跳过部分路径】
find . -depth -name "node_modules" -type d
确认列表无误后,直接执行强制删除(会静默移除所有匹配项,不可恢复):
find . -depth -name "node_modules" -type d -prune -exec rm -rf {} +
用 rimraf 工具安全高效删除
rimraf 是 Node.js 官方推荐的跨平台删除工具,专为处理海量小文件优化,比系统 rm -rf 快 3–5 倍。
第一步:全局安装 rimraf(仅需一次)
npm install -g rimraf
第二步:进入任一含 node_modules 的项目目录,运行:
rimraf node_modules
若要批量清理多个项目的 node_modules,可配合 find 使用:
find ~/Projects -name "node_modules" -type d -exec rimraf {} \;
注意:此命令会遍历 ~/Projects 下所有子目录,务必确认路径准确,避免误删。
清理全局 npm 缓存与残留模块
全局安装的包(如 create-react-app、vue-cli)也会在 ~/.npm/_cacache 和 /usr/local/lib/node_modules 中留下冗余文件。
方法一:清空 npm 缓存(安全,推荐)
npm cache clean --force
方法二:删除全局模块目录(需管理员权限)
sudo rm -rf /usr/local/lib/node_modules
方法三:连带清理用户级缓存和构建缓存(彻底但谨慎)
rm -rf ~/.npm ~/.node-gyp
【执行前请确认你未在 ~/.npm 中手动存放私有配置或 token】
防止 node_modules 再次泛滥
第一步:启用 pnpm 替代 npm 或 yarn
pnpm 使用硬链接+符号链接机制,同一依赖在全盘只存一份物理文件,新项目 node_modules 体积直降 80%+
npm install -g pnpm → pnpm install
第二步:在项目根目录添加 .gitignore(已存在则追加)
确保包含以下三行:
node_modules/package-lock.jsonnpm-debug.log
第三步:为 Synology Drive 或其他同步工具设置排除规则
进入群晖 DSM → Drive 共享文件夹设置 → 同步过滤规则 → 添加“node_modules”、“dist”、“.nyc_output”等典型开发垃圾目录。


















