Bytewell
  • 功能
  • 价格
  • 菜单
    • 功能
    • 价格
  • 简
    • English
    • Deutsch
    • Español
    • 日本語
    • Türkçe
    • 简体中文
    • 繁體中文
  • 下载
Bytewell›指南

如何在 Mac 上查找并删除旧的 node_modules 文件夹和包缓存

更新于 2026 年 11 月 1 日

每个 JavaScript 项目都带着自己的 node_modules,通常有 200 MB 到 1 GB,而包管理器还会在缓存里把所有东西再存一份。几个月前就做完的项目,这些东西也都还在。

一句话:node_modules 文件夹和包缓存都可以安全删除:npm install(或 pnpm、yarn、bun)会按 lockfile 原样装回来。缓存请用各个包管理器自己的清理命令。

本页内容

  1. 怎么找出所有 node_modules 文件夹?
  2. 删除 node_modules 安全吗?
  3. 哪些包缓存可以清理,怎么清?
  4. 那构建产物文件夹呢?
  5. 哪些应该保留?

怎么找出所有 node_modules 文件夹?

把命令指向你存放代码的文件夹。它会列出每个 node_modules 及其大小,最大的排在最后:

find ~/Projects -type d -name node_modules -prune -exec du -sh {} + 2>/dev/null | sort -h

-prune 让它不去重复统计嵌套在其他 node_modules 里的 node_modules。旧项目的可以在“访达”里移到废纸篓,或者用 rm -rf 删除(无法撤销)。

删除 node_modules 安全吗?

安全。里面是下载来的包,而你的 package.json 和 lockfile 记录了具体是哪些。在项目里运行 npm install 就能恢复。两个例外:你在 node_modules 里手动改过的包(应改用 patch-package 或包管理器自带的 patch 命令),以及需要离线工作的时候。

哪些包缓存可以清理,怎么清?

  • npm(~/.npm/_cacache):npm cache clean --force
  • pnpm(~/Library/pnpm/store):pnpm store prune 会删除没有任何项目使用的包
  • Yarn(~/Library/Caches/Yarn、~/.yarn/berry/cache):yarn cache clean
  • Bun(~/.bun/install/cache):bun pm cache rm
  • Homebrew(~/Library/Caches/Homebrew):brew cleanup
  • pip(~/Library/Caches/pip):pip cache purge;uv(~/.cache/uv):uv cache clean
  • Go:go clean -cache -modcache
  • CocoaPods:pod cache clean --all;Gradle(~/.gradle/caches)、Maven(~/.m2/repository)和 Cargo(~/.cargo/registry)可以直接移到废纸篓,需要时会重新下载
  • Playwright 浏览器(~/Library/Caches/ms-playwright):用 npx playwright install 重新安装

之后每个项目再安装时,会重新下载需要的东西,所以清理后的第一次安装会慢一些。

那构建产物文件夹呢?

构建产物同样会自动重新生成:JavaScript 项目里的 .next、.turbo、dist 和 build,Rust 和 Maven 里的 target,Swift 包里的 .build,CocoaPods 项目里的 Pods(用 pod install 恢复)。

哪些应该保留?

  • Python 虚拟环境(.venv):重建出来的可能不一样,因为手动安装的包和没有锁定版本的依赖不会原样回来。
  • 你正在用的 Node.js 版本(nvm 或 fnm 中)。~/.nvm/versions/node 里没有项目需要的旧版本可以删掉。
  • 有未提交更改的项目:要删除比依赖更大的东西之前,先看一下 git status。

Bytewell 会在整个磁盘上找出这些文件夹,按项目分组,标出你很久没动过的项目,并显示每个项目的分支以及是否有未提交的更改。包缓存会配上正确的清理命令,其余内容则移到废纸篓,随时可以放回。

下载

指南

  • Claude Code、Codex 和 Cursor 的磁盘占用:哪些可以安全清理Claude Code、Codex、Gemini CLI、Cursor 和 VS Code 在 Mac 上把会话记录、工作树、运行时和编辑器状态存在哪里,以及其中哪些可以安全删除。
  • Mac 上 Docker 占用磁盘空间太大:Docker.raw 详解Docker Desktop 把所有内容都放在 Docker.raw 这一个文件里。为什么它看起来这么大,怎样查看空间被谁占用,以及在 Mac 上哪些 docker prune 命令能安全释放空间。
  • Ollama、LM Studio 和 Hugging Face 在 Mac 上把模型存在哪里Ollama、LM Studio 和 Hugging Face 在 Mac 上把本地 AI 模型存在哪里、会占多大空间、怎样找出重复存储的同一个模型,以及如何删除。
  • 如何查看 Mac SSD 的健康状况和磨损程度macOS 只显示 S.M.A.R.T. 已验证。教你读取 Mac SSD 的真实磨损(Percentage Used、写入量、错误),看懂这些数字,以及什么在消耗 SSD 寿命。
  • Mac 上的“系统数据”是什么,怎样才能变小?Mac 储存空间里的系统数据包括缓存、日志、Time Machine 快照、交换文件、iPhone 备份、应用数据和虚拟机磁盘。逐一说明各是什么、哪些可以删。
  • Safari 里 X 的视频或 GIF 黑屏X(Twitter)上的视频和 GIF 在 Safari 里黑屏、计时却在走,换 Chrome 就正常?这是 Safari 的视频辅助进程卡住了。用 Cmd+Q 完全退出 Safari 再打开即可。
  • Xcode 占用空间太大:哪些可以安全删除Xcode 在 Mac 上把 DerivedData、模拟器、运行时、设备支持文件和归档存在哪里,哪些会自动重建,以及怎样安全删除。
退款 隐私 条款 联系我们

Bytewell 由 Axleno 打造。

© 2026 Axleno LLC。保留所有权利。