cleanmyproj
v1.3.0
Published
CLI tool to clean project caches and free up local storage
Maintainers
Readme
English | 中文
CleanMyProj
一键清理项目缓存,释放磁盘空间
自动检测项目类型 · 扫描缓存占用 · 交互式选择 · 安全移至回收站
为什么需要 CleanMyProj
开发久了,各种 node_modules、.next、__pycache__、target 散落在项目里,占用大量磁盘空间。手动查找和删除这些缓存目录既麻烦又容易误删。
CleanMyProj 帮你:
- 一个命令扫描项目中所有可清理的缓存
- 按占用大小排序,清晰展示哪些最占空间
- 勾选后统一移至系统回收站(不是直接删除)
安装
npm install -g cleanmyproj使用
在任意项目根目录下执行:
cmpj典型输出
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CleanMyProj — 项目缓存清理工具
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
项目路径: /Users/dev/my-project
检测类型: nextjs
框架技术: Next.js, React, TypeScript
共发现 5 项缓存,总计占用 2.37 GB
? 选择要清理的项目 (空格勾选, Enter 确认):
◻ ✦ 全选 (All) — 总计: 2.37 GB
◻ .next (Next.js build cache) 1.24 GB
◻ node_modules 890.52 MB
◻ node_modules/.vite (Vite cache) 156.30 MB
◻ .eslintcache 12.80 MB
◻ node_modules/.cache (Webpack/Babel) 8.45 MB命令
cmpj # 当前目录:扫描 → 交互选择 → 清理
cmpj /path/to/project # 指定项目路径
cmpj --check # 只看结果,不执行清理
cmpj --yes # 跳过确认直接清理(谨慎使用)操作说明
| 按键 | 作用 |
|------|------|
| 空格 | 勾选 / 取消勾选 |
| ↑ ↓ | 上下移动光标 |
| Enter | 确认选择 |
选择后会经历两次确认:
- 第一次 Enter → 显示将要清理的项目列表,要求确认
- 第二次 Enter → 最终执行,文件移至系统回收站
支持的项目类型
| 类型 | 可清理内容 |
|------|-----------|
| Node.js | node_modules、npm / yarn / pnpm 全局缓存、node_modules/.cache、.eslintcache |
| Next.js | .next 构建缓存 |
| Nuxt | .nuxt、.output |
| Vite | node_modules/.vite |
| Vue / Svelte | dist、.svelte-kit |
| Angular | .angular、dist |
| Gatsby | .cache、public |
| Python | __pycache__、.venv、pip 缓存 |
| Rust | target/、cargo registry |
| Go | build cache、module cache |
| Flutter | build/、.dart_tool、pub cache |
| Java | build/、target/、Gradle 缓存、Maven 本地仓库 |
| Docker | 未使用的镜像、容器、卷 |
| Turborepo | .turbo 本地缓存 |
安全性
| 特性 | 说明 | |------|------| | 🗑️ 移至回收站 | 所有文件进入系统回收站(macOS 废纸篓 / Windows 回收站 / Linux Trash),可手动恢复 | | ☑️ 默认不选 | 所有选项默认未勾选,由你决定清理哪些 | | 🔒 双重确认 | 执行前需两次确认,防误操作 | | 🚫 不碰源码 | 仅清理缓存和构建产物,不影响源代码和配置文件 |
常见问题
可以。所有删除操作实质是「移动到回收站」,打开系统的回收站即可恢复。
支持。在 monorepo 根目录运行 cmpj,会扫描所有子项目的缓存。
不会。CleanMyProj 只会清理预定义的缓存目录(如 node_modules、.next、target 等),不会删除任何源代码文件。
能。支持 macOS、Windows 和 Linux,文件会被移至各自的系统回收站。
贡献
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建分支 (
git checkout -b feature/your-feature) - 提交更改 (
git commit -m 'feat: add something') - 推送分支 (
git push origin feature/your-feature) - 提交 Pull Request
