Windows错误 删除node_modules文件夹:源路径过长

5

我已经在Windows上将npm/gulp用于Visual Studio,但删除相关文件夹却很麻烦,因为我无法轻松地删除node_modules文件夹。

当尝试使用Windows资源管理器删除解决方案的文件夹层次结构时,出现了“源路径过长”对话框:

enter image description here

从那里开始,我尝试使用Windows命令提示符来删除:

rmdir /s /q node_modules

可能会或可能不会奏效。当它不能奏效时,错误看起来像下面这样:
(snip)
~1\NODE_M~1\read-pkg\NODE_M~1\PATH-T~1\readme.md - The file name is too long.

node_modules\GULP-I~2\NODE_M~1\imagemin\NODE_M~1\IMAGEM~1\NODE_M~1\OPTIPN~1\NODE_M~1\logalot\NODE_M~1\squeak\NODE_M~1\LPAD-A~1\NODE_M~1\meow\NODE_M~1\redent
\NODE_M~1\INDENT~1\NODE_M~1\REPEAT~1\NODE_M~1 - The directory is not empty.

node_modules\GULP-I~2\NODE_M~1\imagemin\NODE_M~1\IMAGEM~1\NODE_M~1\OPTIPN~1\NODE_M~1\logalot\NODE_M~1\squeak\NODE_M~1\LPAD-A~1\NODE_M~1\meow\NODE_M~1\redent
\NODE_M~1\INDENT~1\NODE_M~1\REPEAT~1\package.json - The file name is too long.
(snip)

我发现唯一一种始终有效的删除文件夹层次结构的方法是进入每个子文件夹,将每个文件夹重命名为类似于'a'这样的短名称。最终路径变得足够短以允许删除。这可能会浪费很多时间。

我看到了防止此问题的参考资料,但我的问题是如何轻松删除包含问题路径长度的文件夹层次结构。

简而言之,问题是:

在Windows中是否有一种简单的方法可以删除出现“源路径过长”错误的文件夹层次结构?

3个回答

14

到目前为止,我发现这是最简单的选择:

npm install -g rimraf
然后
rimraf node_modules

从那里开始,文件夹层次结构应该可以被删除。

这个选项需要安装rimraf软件包。没有依赖该软件包的解决方案会更好,但我还没有找到一个简单的。


1
是的。迄今为止最简单的解决方案。 - MoonStom

2

Robocopy也可以做到这一点...以下是我添加的Regkey,以便能够右键单击并使用robocopy删除任何文件夹,这将删除npm_module文件夹。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\RoboDelete]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\RoboDelete\command]
"Extended"=""
@="\"C:\\windows\\delfolder.bat\" \"%1\""

以下是Bat文件内容:

@echo off
if {%1}=={} @echo Syntax: DelFolder FolderPath&goto :EOF
if not exist %1 @echo Syntax: DelFolder FolderPath – %1 NOT found.&goto :EOF
setlocal
set folder=%1
set MT="%TEMP%\DelFolder_%RANDOM%"
MD %MT%
RoboCopy %MT% %folder% /MIR
RD /S /Q %MT%
RD /S /Q %folder%
endlocal

希望这能帮到您..

0

针对 Windows 环境:

"scripts": { ... "clean": "rmdir /s /q node_modules", ... }

你可以使用 - rimraf node_modules 或者 rm -rf node_modules

它能正常工作 ;) :)


“scripts”部分应该放在哪个文件中? - GaTechThomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接