简体中文 | English
极速扫描并清理磁盘上的 node_modules 目录。
--path 或在交互中输入)。--dry-run 预览,避免误删cd /path/to/clean-node-modules
pnpm add -D pkg
pnpm run build
# 生成 dist/{clean-node-modules-*} 各平台可执行文件
# 无参数: 进入交互菜单(1=指定目录,2=全盘扫描)
node bin/clean-node-modules.js
交互菜单示例:
请选择: 1) 扫描指定目录 2) 扫描当前电脑所有目录
# 模式1: 指定目录,不询问直接删除
node bin/clean-node-modules.js --mode dir --path /path/to/projects --yes
# 模式1: 仅查看(不删除)
node bin/clean-node-modules.js --mode dir --path /path/to/projects --dry-run
# 模式2: 全盘扫描(可能较慢)
node bin/clean-node-modules.js --mode all
# 模式2: 仅扫描用户目录
node bin/clean-node-modules.js --mode all --path "$HOME"
# 模式2: 全盘扫描并直接删除(谨慎)
node bin/clean-node-modules.js -m all -y
# 或显式指定根目录
node bin/clean-node-modules.js -m all -p / -y
| 选项 | 含义 |
|---|---|
| `-m, --mode <dir | all>` |
-p, --path <path> | mode=dir 的起始目录;mode=all 可用于改写默认起点 |
-y, --yes | 不询问,直接删除 |
-n, --dry-run | 仅展示将要删除的 node_modules,不实际删除 |
-c, --concurrency <num> | 并发读取目录数,默认 64 |
-d, --max-depth <num> | 最大递归深度(0=仅顶层),默认无限 |
--include-dot | 包含以 . 开头的隐藏目录 |
--exclude <a,b,c> | 逗号分隔的需要跳过的目录名 |
-h, --help | 显示帮助 |
.git, .hg, .svn, .cache, .idea, .DS_Store, dist, build, out, coverage, .pnpm-store, .npm, .yarn, .nvm, .cargo, .vscode, Pods, DerivedData, android, iosmode=all 额外排除(macOS 常见):Library, Applications, Movies, Music, Pictures, Public, Downloads, Desktop可通过 --exclude 自行追加排除项;需要包含隐藏目录时添加 --include-dot。
--path "$HOME" 或特定起点。--max-depth 限制深度;例如 --max-depth 2 顶层两级。mode=all 默认从根目录 / 开始。mode=all 会枚举存在的盘符(如 C:\\, D:\\)。# macOS Apple Silicon
./dist/clean-node-modules-macos-arm64
# macOS Intel
./dist/clean-node-modules-macos-x64
--path "$HOME" 或更精确的起点;或调小 --max-depth。--yes 则不会询问,务必先 --dry-run 预览。--dry-run。欢迎 PR!
git clone https://github.com/wangmiaozero/clean-node-modules.git
cd clean-node-modules
pnpm i
pnpm run build
提交前请确保:
MIT © 2025 wangmiaozero
详见 LICENSE