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

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

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


当前回答

你可以使用另一个npm包来实现这个目的。 通过将其安装到本地文件夹using

NPM I rm-node-modules- recurur

如果你愿意,你也可以用-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

其他回答

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

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

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

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

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

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

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

rd /S .\node_modules\

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

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}

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