node_modules 的方法以下是多种高效删除 node_modules 目录的方法,根据你的操作系统选择合适的方式:
在 package.json 中添加脚本:
{
"scripts": {
"clean": "npx rimraf node_modules"
}
}
运行:
npm run clean
# 或
yarn clean
# 使用 rimraf(推荐)
npx rimraf node_modules
# 或直接安装
npm install -g rimraf
rimraf node_modules
# 使用 PowerShell(系统自带)
Remove-Item -Recurse -Force node_modules
Mac/Linux 系统:
# 使用 rm -rf(最快速)
rm -rf node_modules
# 使用 find 命令(更彻底)
find . -name "node_modules" -type d -prune -exec rm -rf '{}' +
npx npkill
按空格键删除选中的 node_modules 目录。
npx clean-node-modules
node-prune(Go语言编写,速度极快):
# 安装
npm install -g node-prune
# 使用
node-prune
node_modules → "Delete"rd /s /q node_modules
使用 Long Path Tool(处理路径过长问题):
专门解决 Windows 路径长度限制导致的删除失败。
创建批处理文件clean.bat:
@ECHO off
ECHO Deleting node_modules...
RMDIR /S /Q node_modules
ECHO Done.
PAUSE
# 使用 pnpm(硬链接节省空间)
npm install -g pnpm
pnpm install
# 使用 yarn PnP(零安装)
yarn set version berry
配置 .npmrc 优化缓存:
# ~/.npmrc
package-lock=false
prefer-dedupe=true
使用 monorepo 结构:
{
"workspaces": ["packages/*"]
}
只需一个顶层的 node_modules。
{
"scripts": {
"reinstall": "rimraf node_modules package-lock.json && npm install",
"refresh": "npm run clean && npm cache clean --force && npm install"
}
}
创建 cross-platform 脚本 clean.js:
const fs = require('fs');
const path = require('path');
const { spawn } = require('child_process');
const deleteNodeModules = (dir) => {
if (process.platform === 'win32') {
spawn('cmd', ['/c', 'rmdir', '/s', '/q', path.join(dir, 'node_modules')]);
} else {
spawn('rm', ['-rf', path.join(dir, 'node_modules')]);
}
};
日常开发:
# Mac/Linux
rm -rf node_modules
# Windows
npx rimraf node_modules
遇到删除问题:
# 使用管理员权限
sudo rm -rf node_modules # Mac/Linux
# 或使用专用工具
npx npkill
团队协作:
# 在 package.json 中统一脚本
npm run clean
磁盘空间紧张时:
# 使用 ncdu 分析
npx ncdu node_modules
# 再针对性删除
npm cache clean --force选择哪种方法取决于你的操作系统、项目大小和个人偏好。对于大多数情况,使用 rimraf 或系统自带的删除命令是最简单高效的选择。