Please enable Javascript to view the contents

快速删除 node_modules 目录的方法

 ·  ☕ 2 分钟

在开发 JavaScript 或 Node.js 项目时,node_modules目录可能会变得非常庞大,占用大量磁盘空间。有几种方法可以快速删除 node_modules 目录:

使用图形化工具

比如,大家常用的效率工具 Everything ,可以快速定位到所有的 node_modules 目录,然后右键批量删除。

我最起先用的就是这种方式。 Everything 查找 node_modules 目录特别快,删除也很方便,就是删除时比较慢。

类似的工具还有 ListaryRidNacs: Free Disk Space Usage Tool for Windows – SplashSoft

命令行工具

  1. 使用 rimraf 工具

    rimraf 是一个跨平台的工具,可以用来删除文件和目录,类似于 Unix 系统中的 rm -rf 命令。你可以通过 npm 安装它:

    1
    
    npm install -g rimraf
    

    然后在项目根目录下运行以下命令删除 node_modules 目录:

    1
    
    rimraf node_modules
    

    这个方法通常比手动删除更快,尤其是在 Windows 系统上。

  2. 使用 npkill 工具

https://npkill.js.org/img/npkill.gif

npkill 是一个专门用于查找和删除 node_modules 目录的工具。它可以扫描你的磁盘,列出所有的 node_modules 目录,并允许你选择要删除的目录。你可以通过 npm 安装它:

1
npm install -g npkill

然后运行以下命令启动 npkill

1
npkill

它会显示所有的 node_modules 目录,你可以使用键盘导航选择并删除它们。

详细信息请参见官网:

NPKILL - Maintain your development workspace clean.

命令行删除命令

在 Unix/Linux 或 macOS 系统上,你可以使用以下命令删除 node_modules 目录:

1
rm -rf node_modules

在 Windows 系统上,你可以使用以下命令:

  1. 使用CMD(管理员权限运行):
1
2
cd /d C:\projects
for /d /r . %d in (node_modules) do @if exist "%d" rd /s /q "%d"
  1. 使用PowerShell(管理员权限运行):

先列出要删除的目录,确认无误后再执行删除:

1
2
3
4
5
# 1. 先查看要删除的内容(安全检查)
Get-ChildItem -Path "C:\projects" -Recurse -Depth 99 -Directory -Filter "node_modules" | Select-Object FullName

# 2. 确认无误后执行删除
Get-ChildItem -Path "C:\projects" -Recurse -Depth 99 -Directory -Filter "node_modules" | Remove-Item -Recurse -Force

-Depth 参数可以根据需要调整,以限制搜索的目录深度。

可以进一步简化:

1
ls "C:\projects" -r "node_modules" | rm -r -fo

lsGet-ChildItem 的别名,-r-Recurse 的别名,rmRemove-Item 的别名,-fo-Force 的别名。

同样,该命令也可以同时删除类似 distbuild.next.vscode 等目录:

1
ls "C:\projects" -r -Include "dist","build",".next",".vscode" | rm -r -fo

参考资料

分享

码农真经
作者
码农真经
Web Developer