如何删除Windows中嵌套深度的node_modules文件夹

当试图删除由npm install创建的node_modules目录时:

源文件名大于文件所支持的文件名 系统。尝试移动到路径名称较短的位置,或者尝试 在尝试此操作之前重命名为较短的名称

我还尝试了转变 + 删除,仍然有同样的问题。

397679 次浏览

因为这是谷歌的结果,这是对我有用的:

更新,如果你有npm v5,使用npx:

npx rimraf ./**/node_modules

否则安装RimRaf:

npm install rimraf -g

在项目文件夹中删除node_modules文件夹:

rimraf node_modules

如果你想递归删除:

rimraf .\**\node_modules

[__abc0]

我也遇到过类似的问题,由于一些未知的原因,RD没有工作。

NPM可以摆脱它自己的混乱,所以如果你对node_modules中的每个目录执行npm uninstall [module-name],你就可以摆脱它们。

(对于那些有很多依赖关系的人,我将在后面查找如何批量循环。)

您可以使用Git Bash删除文件夹:

< p >的例子: c: \ \用户olefrank \ \项目mynodeproject < / em >

Rm -rf /c/users/olefrank/projects/mynodeproject

仅使用DOS命令DELETE,无需任何安装:

在C或D盘上创建一个空文件夹test,并使用以下DOS命令

robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL

完成上述命令后,您的文件夹将为空,现在您可以删除文件夹。

不用担心,您的测试文件夹将始终为空,因此您可以随时删除它。

在Windows上,使用总指挥官,你所要做的就是选择文件夹单击转变 + 删除。不要忘记转变键。

删除深网文件夹,如Windows中的node_modules

  1. < p > 选项1

    使用rimraf NPM包删除

    • 打开命令提示符,将目录更改为

    • . node_modules文件夹存在
    • < p >运行

      rimraf node_modules < / p >

    • 缺少rimraf ERROR然后安装

      npm install rimraf -g < / p >

    • 安装完成后运行

      rimraf node_modules < / p >

    • 李< / ul > < / >
    • < p > 选项2:

      Detele没有安装任何东西

      • 在任意Drive中创建一个名为test的文件夹

        robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL < / p >

      • 删除文件夹testFolderToDelete,因为它们都是空的

      • 李< / ul > < / >

为什么这在windows中是一个问题?

深层嵌套的文件夹结构之一是node_modules, Windows无法删除该文件夹,因为其名称太长。要解决这个问题,简单的解决方案是安装一个节点模块< em > RimRaf < / em >

  1. npm install -g remove-node-modules
  2. cd到root和remove-node-modules
  3. remove-node-modules path/to/folder

来源:

https://github.com/j-quelly/node-cleanup

我使用Winrar简单地做到了这一点,这可能看起来是一个奇怪的解决方案,但工作得非常好。

  • 右键单击node_modules文件夹
  • 从菜单选择Add to archive ...
  • 打开Winrar对话框
  • 只要检查选项delete files after archiving
  • 完成后不要忘记删除node_modules.rar。
人力资源> < p > < (更新) 这也适用于7Zip


 ></a></p></div>
                                                                            </div>
                                </div>
                            </div>
                        </div>
                                                <div class=

您可以使用Git Bash删除文件夹:

< p >的例子: c: \ \用户stu \ \项目mynodeproject < / em >

Rm /c/users/stu/projects/mynodeproject -rfd

从这个这篇MSDN文章的外观来看,看起来你现在可以绕过Windows 10 v1607中的MAX_PATH限制(又名“周年更新”),通过更改注册表中的值-或通过组策略

我用giitbash删除文件夹!

rm -r node_modules

我花了一些时间删除所有内容,但对我来说很有效!

任何文件管理器都可以避免这样的问题,例如到经理

enter image description here

简单的运行我还没有在其他操作系统上测试过即可

rm -r node_modules

事实上,你可以用它删除任何文件夹。

rm -r anyfolderwherhisnotdeletablefromshiftdeleteordelete . . rm

只要打开gitbash移动到文件夹的根目录,然后运行这个命令

希望这能有所帮助。

< p >谢谢, Ajay Kotnala < / p >

只需使用powershell..

运行powershell和cd到父文件夹,然后:

rm [yourfolder]

如:

rm node_modules

尝试Visual Studio代码

在尝试了许多解决方案后,我发现这个非常简单。 只需在Visual code中打开项目并删除它。UI可能会冻结几秒钟,但它肯定会工作。我测试使用许多大尺寸的node_modules文件夹,它

enter image description here

谢谢

我在windows 10上,我不能删除消息“目录不是空的”文件夹。rimrafrm射频都不能工作。

将一个空文本文件复制到每个文件夹中就可以了——我可以删除完整的node_modules文件夹。

我使用的一个解决方案是:

(我更倾向于在使用CI环境时避免安装新的扩展(rimraf)。)

  1. 一)重命名包。Json转换成其他东西。B)特别在CI - npm安装后,我通常删除文件,而不是重命名它,但如果你需要它,你不必这样做。这是你的选择。
  2. 运行npm init -这将创建一个空的packages.json文件(没有依赖关系)
  3. 运行npm prune——这将匹配node_modulespackages.json的依赖项部分——作为步骤#2的结果,现在是空的。
  4. 如果你选择了# 1.。步骤,删除新创建的packages.json,并将原来的packages.json重命名为原来的名称。

这太简单了。

只需删除node_modules中的所有文件夹,然后删除实际的node_module文件夹。

这对我有用。最好的运气……

有时,即使你全局安装了rimraf,你也可以有一个本地的rimraf依赖项(SASS通常有)。在这种情况下,我会运行以下命令:

按照usagidon的建议执行前2步,如果有问题或错误,请尝试

npm uninstall rimraf & rimraf node_modules

这将删除本地rimraf并使用全局rimraf

不是完全相关的,但这是我在寻找类似解决方案时发现的第一篇文章,我认为值得在这里发布。

在尝试安装electron-redux失败后,我在Windows 10上试图删除我的node_modules文件夹时遇到了权限问题。似乎electron-redux向我的node_modules添加了@types,它设置了不正确的权限。

Rimraf没有成功,因为它仍然遇到许可问题。

我最终重命名node_modules,然后简单的删除工作。

在Windows上,我的解决方案是使用rmdir命令:

rd /S .\node_modules\

如果第一次失败了——再试一次。 还要检查当前是否有正在运行的脚本使用模块(npm run serve或类似)

我只是在PowerShell的项目文件夹中执行德尔node_modules,它会问你是否想删除它及其子文件夹,只需点击“Y”,就是这样

好吧,所以我的问题是,我有。bin文件夹内node_modules和我无法删除,我尝试了所有上述解决方案相同,但没有工作。

重复的错误是“你没有权限删除文件夹或它已被其他程序使用”。

解决方案,我发现“我在我的电脑上安装了防病毒软件,这是在不知不觉中使用来自node_modules文件夹的文件”。

我卸载了防病毒软件或者你可以从防病毒设置选项中更改权限设置(取决于你有哪种防病毒软件)。现在我可以删除node_modules文件夹。

前进一拍用于多个文件夹…

如果你有一个包含多个“构建”的项目文件夹,其中包含“node_module”。如:

C:/Project/build-1/node_modules
C:/Project/build-2/node_modules
C:/Project/build-3/node_modules
C:/Project/build-4/node_modules

删除所有以"build"开头的文件夹

! 首先按照上面的建议安装nodejsrimraf !

然后进入项目路径,运行PowerShell命令

cd  C:/Project/
Get-ChildItem build* | foreach {rimraf -Path $_.FullName}

这需要耍诡计

对我有用的是:

  1. 关闭节点管理器控制台
  2. 关闭您所在的Atom (visual studio代码)开发环境。
  3. 则删除node_modules

    npm install rimraf -g
    rimraf node_modules
    

什么都试过了,但都没用。以上所有方法都不起作用。最后,我能够通过VSCode删除。

  1. 用VSCode打开你的根文件夹。
  2. 选择node_modules文件夹并删除。
  3. 利润。(它将需要few milliseconds来删除。)

 vcode -delete.png .png

你可以基于@mike-caron答案进行简单的批处理,这样你就不需要每次都输入整个robocopy命令,而只是输入所选文件夹的路径:

@echo off
ECHO What Directory would you like to empty?
ECHO Current path: %cd%
SET /p UserInputPath=Input relative path to directory:
ROBOCOPY /MIR empty_dir %cd%\%UserInputPath% > NUL
PAUSE

这里你在robocopy命令中使用名为empty_dir的空目录,该目录需要与批处理文件在同一目录下才能工作。批处理文件完成其任务后,选定目录和empty_dir目录都将为空,以便您可以删除它们。

我做了一个简单的批处理文件,创建空文件夹,robocopy命令执行后,删除空文件夹和所选文件夹,这样你唯一需要做的就是输入你想删除的所选文件夹的路径。 如果你不想安装像rimraf这样的东西,它是快速和实用的。 你可以在这里下载https://github.com/5imun/WinCleaner

我做了一个Windows上下文项来快速删除node_modules或其他文件夹。 当Windows因为目录路径中的一些无效字符而不删除文件夹时,我使用它

如何安装?

  1. 安装rimraf => npm install rimraf -g

  2. 创建一个名为delete.bat的新文件,设置如下内容并将其复制到c:\windows\system32\

    delete.bat: < / p >

 @ECHO OFF
ECHO.
ECHO %CD%
ECHO.
ECHO Are you sure to delete the folder with Rimraf?
PAUSE
SET FOLDER=%CD%
CD /


rimraf "%FOLDER%"


rem DEL /F/Q/S "%FOLDER%" > NUL
rem RMDIR /Q/S "%FOLDER%"


EXIT
  1. 运行fast-delete.reg文件导入注册表。

    完成了! < / p >

final result

PowerShell方式:

PS > rm -r -force node_modules


# The same, but without using aliases
PS > Remove-Item -Recurse -Force node_modules

如果你想删除子目录中的每一个node_modules:

注意递归删除的潜在危险,请确保您在这里所做的事情

PS > dir -Path . -Filter node_modules -recurse | foreach {echo $_.fullname; rm -r -Force $_.fullname}
你可以使用另一个npm包来实现这个目的。 通过使用

在本地文件夹中安装它

npm i rm-node-modules-recur

如果你愿意,你也可以用-g开关全局安装它。

如果安装在本地,可以从当前目录node_modules.bin\ using调用二进制文件

 .\node_modules\.bin\rmnodes "<top level directory within quotes>"

如果您选择全局安装,只需使用

rmnodes "<top level directory within quotes>"

,就是这样。这个包最终将轻松地递归地从所有子目录中删除node_modules(在我的例子中大约有60多个文件夹)。参考所附快照。 使用rm-node-modules-recur < / p >

请节省阅读这些答案的时间,直接使用npx,而不是尝试全局安装rimraf。您可以运行单个命令,并始终拥有最新的版本,而不会出现此处所见的任何问题。

npx rimraf ./**/node_modules

为了备份,我需要清理整个Projects目录,所以我安装了rimraf并在根目录下运行(在git bash提示符中):

find . -name "node_modules" -type d -prune -exec rimraf '{}' +

非常有效,真正的递归(避免子node_modules),在windows上快速(感谢rimraf)。

来源:

  1. https://rtmccormick.com/2018/01/10/clear-node-modules-folders-recursively-mac-linux/
  2. 这个问题的公认答案暗示了rimraf,但在递归方面缺乏

我想之前没有提到过。但是删除不需要的node_modules的最好方法是安装一个名为npmkill的实用程序。

安装:

从您的终端:

npm i -g npkill

要使用它:

从您的终端:

npkill

或者,你可以直接使用它,而不需要安装:

npx npkill

然后你会看到一个项目列表,通过按空格键你可以删除它们的node_modules

在Windows平台上最简单的方法是使用终端 执行RMDIR /Q/S foldername命令删除该文件夹及其所有子文件夹

例如:RMDIR /Q/S node_modules

上述命令删除node_modules文件夹及其子文件夹 有关信息,请访问https://www.ghacks.net/2017/07/18/how-to-delete-large-folders-in-windows-super-fast/

这对我来说真的很有用:

npm i npkill


npx npkill

用光标选择,按空格键删除

在Windows上

执行以下命令删除node_modules下的文件和子目录&同时删除其中的文件夹:

DEL /F/S/Q node_modules > NUL 2>&1  &  RMDIR /S/Q node_modules > NUL 2>&1