ChatGPT解决这个技术问题 Extra ChatGPT

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

在尝试删除由 npm install 创建的 node_modules 目录时:

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

我也尝试了 shift + delete ,但仍然遇到同样的问题。

try renaming to shorter name(s) before attempting this operation
感谢您的建议,@SLaks!我应该提到我也尝试过,但是文件和目录很多而且很深,它有 C:\Users\my_user_name\projs\backend\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin \node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\camelcase-keys\node_modules\... 它继续。手动重命名文件是不切实际的,我希望在不编写程序的情况下有更简单的方法
Webstorm 可以全部删除。
我使用了 Long Path Fixer 工具并成功删除了这个“.meteor”文件夹。 (long-path-fixer.en.softonic.com)
运行安装,npm install rimraf -g,运行删除,rimraf node_modules

b
blub

由于这是谷歌的最高结果,这对我有用:

更新,如果您有 npm v5,请使用 npx

npx rimraf ./**/node_modules

否则安装 RimRaf:

npm install rimraf -g

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

rimraf node_modules

如果要递归删除:

rimraf .\**\node_modules

[http://www.nikola-breznjak.com/blog/nodejs/how-to-delete-node_modules-folder-on-windows-machine/]


我是博文的作者。 @olefrank:当您尝试删除整个文件夹(不仅仅是 node_modules)时,如果您碰巧在资源管理器窗口中打开了该文件夹,这往往会发生。 usagidon,感谢您链接原始来源。
如果您没有 NodeJS,或者您在卸载 NodeJS 后尝试删除它的全局模块(这就是我必须使用 robocopy 的原因),那将没有用
我将在这里添加我的 2 美分,以便更具体地解决这个问题。您可以像这样递归删除所有 node_modules 文件夹(使用通配模式):rimraf .\**\node_modules
单行:npx rimraf node_modules。 Npx 包含在 NPM 5.2+ 中,是 npm 包的执行器,它会自动下载缺失的 npm 包。
@Artif3x 的评论应该被标记为最佳答案,哈哈!感谢递归删除的提示:-)
E
Eymen Elkum

我只是通过使用 Winrar 来做到这一点,这似乎是一个奇怪的解决方案,但效果很好。

右键单击 node_modules 文件夹

从菜单中选择添加到存档...。

Winrar 对话框打开

只需选中存档后删除文件的选项

完成后不要忘记删除node_modules.rar。

https://i.stack.imgur.com/Xbglt.jpg


哇,这太狡猾了! +1 一直在使用 robocopy,但显然这已经用新的 npm 或其他东西修复了。
@ChrisS 它如何与 7Zip 一起使用?尤其是在使用 GUI 时!
在 2016 年(尤其是 2018 年),您不必这么聪明地删除一堆文件。
是的,您会认为如果winrar 可以解决这个问题,他们可以让window shell 来做到这一点......
@bennos,它与 7-Zip 类似。选择 Add to Archive 打开 GUI。有一个选项 Delete files after compression
A
Ali Adravi

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

在 C 或 D 驱动器上创建一个空文件夹“test”并使用以下 DOS 命令

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

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

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


最佳答案,因为您不需要安装任何东西
在尝试 rimraf 并添加网络文件夹后,这是我找到的最干净的解决方案。谢谢你分享这个。
很好的解决方案;简单的。
我只是做了一个小补充:> NUL。当我刚刚尝试这个时,它被控制台限制了,并且需要 15 分钟或更长时间。重定向到位后,大约 2
有趣的是,为了删除一些 JS 文件,您还需要另一个 JS 库。
B
Bruno

我使用 GitBash 删除了 de 文件夹!

rm -r node_modules

删除所有内容需要一段时间,但对我有用!


这对我有用。我之前使用的是 rimraf。 rimraf 没用,我试过了。
这应该是最高评论。不是,安装一些东西只是为了删除一些东西。或者只需输入 RD node_modules
要删除具有多个项目的文件夹中的所有 node_modules 文件夹,请使用:rm -r ./**/node_modules
这需要一段时间(一个小时或更长时间......)。但它有效
o
olefrank

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

例如:c:\users\olefrank\projects\mynodeproject

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


这在 Windows 7 上不起作用。目录不为空错误
您还需要指定 -d 标志,这也将删除目录。
或 -fR 递归爬到顶部并删除文件夹
@Karthiga -rf 是告诉 RM 如何执行删除操作的标志/选项/参数。 r 表示递归到任何子目录,f 表示强制删除(不提示)。 -rf 是一次指定多个标志/选项的 unix 约定。
D
DiplomacyNotWar

尝试 Visual Studio 代码

在尝试了许多解决方案后,我发现这个非常简单。只需在可视代码中打开项目并将其删除即可。 UI 可能会冻结几秒钟,但它肯定会工作。我使用许多大型 node_modules 文件夹进行测试

https://i.stack.imgur.com/QVeLX.png

谢谢


奇怪的工作! :) 即使在安全模式下,我也一直在尝试删除它,甚至使用过 sudo su 但没有任何帮助。顺便说一句,我在 OSX 上运行,直到我升级到 Mojave 才发生在我身上。
也适用于 Windows 10,尽管我不得不多次使用该命令。
聪明的想法,但遗憾的是在我的角度项目中对我来说并没有更快
非常感谢,像冠军一样工作。其他解决方案对我不起作用。
J
Jinna Balu

在 Windows 中删除像 node_modules 这样的 Deep Netsted 文件夹

选项 1 使用 rimraf NPM 包删除 打开命令提示符并将目录更改为 node_modules 文件夹所在的文件夹。运行 rimraf node_modules Missing rimraf ERROR then Install npm install rimraf -g 安装完成后,运行 rimraf node_modules 选项 2:删除而不安装任何东西 在任何 Drive robocopy /MIR c:\test D:\UserData\FolderToDelete 中创建一个名为 test 的文件夹> NUL 删除文件夹 test 和 FolderToDelete 因为两者都是空的

为什么这是 Windows 中的问题?

深度嵌套的文件夹结构之一是 node_modules,Windows 无法删除该文件夹,因为它的名称太长。为了解决这个问题,Easy 解决方案,安装一个节点模块 RimRaf


Error: EPERM: operation not permitted
已修复:我必须重新启动计算机。有东西在使用 node_modules,但它给了我一个权限错误。
A
Artif3x

请省去阅读大部分这些答案的需要,只使用 npx 而不是尝试全局安装 rimraf。您可以运行单个命令并始终使用最新版本,而不会出现此处出现的任何问题。

npx rimraf ./**/node_modules

最佳答案。它速度快、效果好,而且比到处乱扔“-g”更聪明。
A
Abhishek Rathore

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

安装:

从您的终端:

npm i -g npkill

并使用它:

从您的终端:

npkill

或者,您可以直接使用它而无需安装,只需编写:

npx npkill

然后您将看到一个项目列表,点击空格键可以删除它们的 node_modules


A
Ajay Kotnala

simple just run for windows 我还没有在其他操作系统上测试过

rm -r node_modules

实际上,您可以使用它删除任何文件夹。

像 rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete。

只需打开 gitbash 移动到文件夹的根目录并运行此命令

希望这会有所帮助。

谢谢,阿杰·科特纳拉


S
Stuart.Sklinar

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

例如:c:\users\stu\projects\mynodeproject

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


C
Chris

我遇到了类似的问题,并且由于某种未知原因,RD 无法正常工作。

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

(稍后我会为那些有很多依赖项的人查找如何批量循环。)


j
j_quelly

npm install -g remove-node-modules cd 到 root 和 remove-node-modules 或 remove-node-modules path/to/folder

资源:

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


R
Roy.B

我只是在 PowerShell 上的项目文件夹中执行 del node_modules,它会询问您是否要删除它及其子文件夹,只需点击“Y”即可


简单的一个。谢谢
...\node_modules 有子级并且没有指定 Recurse 参数。如果您继续,所有子项都将与该项目一起被删除。你确定你要继续吗? [Y] 是 [A] 全部是 [N] 否 [L] 全部否 [S] 暂停 [?] 帮助(默认为“Y”): Y rd : 目录 C:\...\node_modules\ngx -color-picker\dist 不能删除,因为它不为空。 rd node_modules -recurse
rd node_modules -recurse
@AUSTX_RJL rd 也可以,但我从来没有遇到过 del node_modules 的问题。有线,但是 tnx 以任何方式在 PS 中删除另一种方式
W
Woriayibapri Hearty Alapher

在 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/


J
Junaid Atari

尝试了一切,但没有奏效。以上所有方法均无济于事。最后我能够通过 VSCode 删除。

只需使用 VSCode 打开您的根文件夹。选择 node_modules 文件夹并删除。利润。 (删除需要几毫秒。)

https://i.stack.imgur.com/P522a.png


L
Libu Mathew

这真的对我有用:

npm i npkill

npx npkill

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


l
leoh

在 Windows 上,使用 Total Commander 您只需选择文件夹单击 shift + delete 。不要忘记 shift 键。


这是最好的解决方案! TC删除文件夹没有打嗝,它真的很快
V
Veniamin

任何文件管理器都允许避免此类问题,例如 Far Manager

https://i.stack.imgur.com/89Ims.png


我已经有 10 多年没有看到有人使用那种界面了。J 让我很开心。
A
Alper Ebicoglu

我制作了一个 Windows 上下文项来快速删除 node_modules 或其他文件夹。当 Windows 由于目录路径中的一些无效字符而没有删除文件夹时,我会使用它。

如何安装?

install rimraf => npm install rimraf -g 新建一个名为delete.bat的文件,设置内容如下,复制到c:\windows\system32\delete.bat:

 @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

运行 fast-delete.reg 文件以导入注册表。完毕!

https://i.stack.imgur.com/bGS5g.png


ghacks.net/2017/07/18/…中的完整文章
L
Lino Mediavilla

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

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

非常有效,真正递归(避免子节点模块)并且在 Windows 上快速(感谢 rimraf)。

资料来源:

https://rtmccormick.com/2018/01/10/clear-node-modules-folders-recursively-mac-linux/ 这个问题中接受的答案表明 rimraf 但缺乏递归方面


D
Darren Ford

只需使用powershell ..

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

rm [yourfolder]

如:

rm node_modules

R
Rikki

我使用的一种解决方案:

(在使用 CI 环境时,我宁愿避免安装新的扩展(rimraf)。)

A) 将 packages.json 重命名为其他名称。 B) 特别是在 CI 上 - 在 npm install 之后,我通常会删除文件而不是重命名它,但如果你需要它,你不必这样做。那是你的选择。运行 npm init - 这将创建一个空的 packages.json 文件(无依赖项)运行 npm prune - 这会将 node_modules 与 packages.json 的依赖项部分匹配 - 由于步骤 #2,现在该部分为空。如果您选择了#1.A。步骤,删除新创建的packages.json,并将原来的packages.json重命名回原来的名字。


P
Priyanka

它太容易了。

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

这对我有用。好运....


老实说,这是更快的方法,但需要很大的耐心。如果您一次删除几个文件夹会更好。
u
user2869931

有时,即使您全局安装 rimraf,您也可以拥有本地 rimraf 依赖项(SASS 通常拥有它)。在这种情况下,我将运行以下命令:

按照 usagidon 建议的前 2 个步骤操作,如果您有问题或错误,请尝试

npm uninstall rimraf & rimraf node_modules

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


k
korun

在 Windows 上,我的首选解决方案是使用 rmdir command

rd /S .\node_modules\

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


d
dgellow

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}

m
moloko

this MSDN article 的外观来看,您现在可以通过更改注册表中的值或通过组策略绕过 Windows 10 v1607(又名“周年更新”)中的 MAX_PATH 限制


r
ralusnom

我在 Windows 10 上,我无法删除带有消息“目录不是 emtpy”的文件夹。 rimraf 和 rm -rf 都不起作用。

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


J
Jake Conniff

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

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

rimraf 没有工作,因为它仍然遇到许可问题。

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