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

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

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


当前回答

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

npx rimraf ./**/node_modules

其他回答

这太简单了。

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

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

你可以根据@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上,我的解决方案是使用rmdir命令:

rd /S .\node_modules\

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

在Windows上,使用Total Commander,你所要做的就是选择文件夹,点击shift + delete。别忘了shift键。

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}