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

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

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


当前回答

我在windows 10上,我不能删除消息“目录不是空的”文件夹。rimraf和rm -rf都不起作用。

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

其他回答

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

右键单击node_modules文件夹 选择Add to archive…菜单上的。 打开Winrar对话框 只要检查归档后删除文件的选项 完成后不要忘记删除node_modules.rar。

(更新) 这也适用于7Zip


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}

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

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

npm uninstall rimraf & rimraf node_modules

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

我只是在PowerShell的项目文件夹中执行del node_modules,它会问你是否想删除它和它的子文件夹,只需点击'Y',就是这样

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

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

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

来源:

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