如何删除 node_modules - Windows 中的深层嵌套文件夹
How to Delete node_modules - Deep Nested Folder in Windows
尝试删除由 npm install
创建的 node_modules 目录时:
The source file name(s) are larger than is supported by the file
system. Try moving to a location which has a shorter path name, or try
renaming to shorter name(s) before attempting this operation
我也试过 shift + delete 但仍然有同样的问题。
由于这是最高 google 结果,这对我有用:
更新,如果你有 npm v5,使用 :
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/]
我遇到了类似的问题,但由于某些未知原因,RD 无法正常工作。
NPM 可以摆脱它自己的混乱,所以如果您对 node_modules 中的每个目录执行 npm uninstall [module-name]
,您将摆脱它们。
(对于那些有很多依赖项的人,我稍后会查找如何批处理循环。)
您可以使用 Git Bash 删除文件夹:
示例:
c:\users\olefrank\projects\mynodeproject
rm -rf /c/users/olefrank/projects/mynodeproject
仅使用 DOS 命令删除,无需任何安装:
在 C 或 D 盘上创建一个空文件夹 "test" 并使用以下 DOS 命令
robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL
完成上述命令后,您的文件夹将为空,现在您可以删除该文件夹。
不用担心你的测试文件夹永远是空的,所以你可以随时删除它。
在 Windows 上,使用 Total Commander 您所要做的就是 select 文件夹单击 shift + delete 。不要忘记 shift 键。
删除 Deep Netsted 文件夹,如 node_modules in Windows
选项 1
使用 rimraf
NPM 包删除
打开命令提示符并将目录更改为所在文件夹
node_modules
文件夹存在。
运行
rimraf node_modules
缺少 rimraf 错误然后安装
npm install rimraf -g
安装完成后,运行
rimraf node_modules
选项 2:
删除而不安装任何东西
在任意驱动器中创建一个名为 test
的文件夹
robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL
删除文件夹 test
和 FolderToDelete
,因为它们都是空的
为什么这是 windows 中的问题?
深嵌套文件夹结构之一是node_modules,Windows无法删除文件夹名称太长。要解决这个问题,简单的解决方案,安装一个节点模块 RimRaf
npm install -g remove-node-modules
- cd 到 root 和
remove-node-modules
- 或
remove-node-modules path/to/folder
来源:
我只是通过使用 Winrar 完成了这项工作,这似乎是一个奇怪的解决方案,但效果很好。
- 右键单击
node_modules
文件夹
- select
Add to archive ...
来自菜单。
- Winrar 对话框打开
- 勾选选项
delete files after archiving
- 完成后不要忘记删除node_modules.rar。
[更新]
这也适用于 7Zip
您可以使用 Git Bash 删除文件夹:
示例:
c:\users\stu\projects\mynodeproject
rm /c/users/stu/projects/mynodeproject -rfd
从 this MSDN article 的外观来看,您现在可以通过更改 Windows 10 v1607(也称为 'anniversary update')中的值来绕过 MAX_PATH 限制注册表 - 或通过组策略
我用 GitBash 删除了 de 文件夹!
rm -r node_modules
删除所有内容需要一段时间,但对我有用!
任何文件管理器都可以避免此类问题,例如 Far Manager
简单 运行 windows 我还没有在其他操作系统上测试过
rm -r node_modules
事实上,你可以用这个删除任何文件夹。
喜欢rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete.
只需打开 gitbash 移动到文件夹的根目录并 运行 此命令
希望这会有所帮助。
谢谢,
阿杰·科特纳拉
只需使用 powershell..
运行 powershell 并 cd 到父文件夹,然后:
rm [yourfolder]
如:
rm node_modules
尝试Visual Studio代码
在尝试了很多解决方案后,我发现这个非常简单。
只需在可视代码中打开项目并将其删除。 UI 可能会冻结几秒钟,但它肯定会 works.I 使用许多大型 node_modules 文件夹进行测试
谢谢
我在 windows 10,我无法删除带有消息 "directory not emtpy" 的文件夹。 rimraf 和 rm -rf 都不起作用。
将空文本文件复制到每个文件夹就成功了 - 我能够删除整个 node_modules 文件夹。
我使用的一个解决方案:
(在使用 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
重命名为原来的名字.
太简单了。
只需删除 node_modules 中的所有文件夹,然后删除实际的 node_module 文件夹。
这对我有用。祝你好运....
有时,即使您在全局安装了 rimraf
,您也可以有一个本地 rimraf
依赖项(SASS 通常有)。在这种情况下,我会 运行 以下命令:
按照 推荐的前 2 个步骤进行操作,如果您遇到问题或错误,请尝试
npm uninstall rimraf & rimraf node_modules
这将删除本地 rimraf
并使用全局
不完全相关,但由于这是我在搜索类似解决方案时发现的第一个 post 我认为值得 post 在这里。
我 运行 在 Windows 10 尝试安装 electron-redux 失败后试图删除我的 node_modules 文件夹时遇到权限问题。似乎 electron-redux 向我的 node_modules 添加了 @types,它的权限设置不正确。
rimraf 没有工作,因为它仍然 运行 权限问题。
我最终重命名 node_modules 然后简单的删除就成功了。
在 Windows 我的解决方案是使用 rmdir
command:
rd /S .\node_modules\
如果第一次失败 -- 再试一次。
还要检查当前是否有 运行 个脚本正在使用这些模块(npm run serve
或类似的)。
我只是在 PowerShell 上的项目文件夹中执行 del node_modules,它会询问您是否要删除它及其子文件夹,只需点击 'Y' 就是这样
好的,我的问题是我在 node_modules 中有 .bin 文件夹,但我无法删除它,我尝试了上述所有解决方案,但没有任何效果。
重复的错误是 "u do not have permission to delete the folder or its been used by some other program"。
我找到的解决方案 "I had Antivirus installed on my pc ,which was unknowingly using the files from node_modules folder"。
我卸载了防病毒软件,或者您可以从防病毒设置选项更改权限设置(取决于您使用的是哪种防病毒软件)。现在我可以删除 node_modules 文件夹。
为多个文件夹提前一点...
如果您有一个包含多个 'builds' 的项目文件夹,其中包含 'node_module'。喜欢:
C:/Project/build-1/node_modules
C:/Project/build-2/node_modules
C:/Project/build-3/node_modules
C:/Project/build-4/node_modules
您要删除所有以 "build"
开头的文件夹
!首先按照上面的建议安装 nodejs 和 rimraf !
然后转到带有项目的路径和 运行 PowerShell 命令
cd C:/Project/
Get-ChildItem build* | foreach {rimraf -Path $_.FullName}
这会花点时间
对我有用的是:
- 关闭节点管理器控制台
- 关闭了您所在的 Atom(visual studio 代码)开发环境。
然后删除node_modules
npm install rimraf -g
rimraf node_modules
什么都试过了,还是不行。以上所有方法都没有任何作用。最后我可以通过 VSCode.
删除
- 只需使用 VSCode 打开您的根文件夹。
- Select
node_modules
文件夹并删除。
- 利润。 (需要
few milliseconds
才能删除。)
您可以根据 @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 上下文项来快速删除 node_modules 或其他文件夹。
我在 Windows 由于目录路径中的一些无效字符而没有删除文件夹时使用它。
如何安装?
安装 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 文件导入注册表。
完成!
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}
您可以使用另一个专门用于此目的的 npm 包。
通过使用
在本地文件夹中安装它
npm i rm-node-modules-recur
如果您愿意,也可以使用 -g 开关全局安装它。
如果在本地安装,您可以使用
从当前目录 node_modules.bin\ 调用二进制文件
.\node_modules\.bin\rmnodes "<top level directory within quotes>"
如果您选择全局安装,只需使用
rmnodes "<top level directory within quotes>"
就是这样 .. 这个包最终会轻松地从所有子目录(在我的例子中是大约 60 个奇怪的文件夹)中递归地删除 node_modules。请参阅随附的快照。
using rm-node-modules-recur
请让您自己无需阅读大部分答案,只需使用 npx 而不是尝试全局安装 rimraf。您可以 运行 一个命令,并始终拥有最新版本,其中包含 none 此处看到的问题。
npx rimraf ./**/node_modules
出于备份目的,我需要清理整个项目目录,因此我在根目录(在 git bash 提示符内)安装了 rimraf 和 运行:
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 但缺少递归方面
我想这个以前没有提到过。但删除不需要的 node_modules
的最佳方法是安装一个名为 npmkill
.
的实用程序
安装:
从您的终端:
npm i -g npkill
并使用它:
从您的终端:
npkill
或者你也可以不安装直接使用:
npx npkill
然后您将看到一个项目列表,点击 space 栏可以删除它们的 node_modules
。
在 Windows 平台上,最简单的方法是使用终端。
请运行 命令 RMDIR /Q/S 文件夹名 删除文件夹及其所有子文件夹。
示例:RMDIR /Q/S node_modules
上述命令删除 node_modules 文件夹及其子文件夹。
有关信息,请访问此 https://www.ghacks.net/2017/07/18/how-to-delete-large-folders-in-windows-super-fast/
这真的对我有用:
npm i npkill
npx npkill
select 使用 CURSORS 并按 SPACE 键删除
尝试删除由 npm install
创建的 node_modules 目录时:
The source file name(s) are larger than is supported by the file system. Try moving to a location which has a shorter path name, or try renaming to shorter name(s) before attempting this operation
我也试过 shift + delete 但仍然有同样的问题。
由于这是最高 google 结果,这对我有用:
更新,如果你有 npm v5,使用
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/]
我遇到了类似的问题,但由于某些未知原因,RD 无法正常工作。
NPM 可以摆脱它自己的混乱,所以如果您对 node_modules 中的每个目录执行 npm uninstall [module-name]
,您将摆脱它们。
(对于那些有很多依赖项的人,我稍后会查找如何批处理循环。)
您可以使用 Git Bash 删除文件夹:
示例: c:\users\olefrank\projects\mynodeproject
rm -rf /c/users/olefrank/projects/mynodeproject
仅使用 DOS 命令删除,无需任何安装:
在 C 或 D 盘上创建一个空文件夹 "test" 并使用以下 DOS 命令
robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL
完成上述命令后,您的文件夹将为空,现在您可以删除该文件夹。
不用担心你的测试文件夹永远是空的,所以你可以随时删除它。
在 Windows 上,使用 Total Commander 您所要做的就是 select 文件夹单击 shift + delete 。不要忘记 shift 键。
删除 Deep Netsted 文件夹,如 node_modules in Windows
选项 1
使用
rimraf
NPM 包删除打开命令提示符并将目录更改为所在文件夹
node_modules
文件夹存在。运行
rimraf node_modules
缺少 rimraf 错误然后安装
npm install rimraf -g
安装完成后,运行
rimraf node_modules
选项 2:
删除而不安装任何东西
在任意驱动器中创建一个名为
test
的文件夹robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL
删除文件夹
test
和FolderToDelete
,因为它们都是空的
为什么这是 windows 中的问题?
深嵌套文件夹结构之一是node_modules,Windows无法删除文件夹名称太长。要解决这个问题,简单的解决方案,安装一个节点模块 RimRaf
npm install -g remove-node-modules
- cd 到 root 和
remove-node-modules
- 或
remove-node-modules path/to/folder
来源:
我只是通过使用 Winrar 完成了这项工作,这似乎是一个奇怪的解决方案,但效果很好。
- 右键单击
node_modules
文件夹 - select
Add to archive ...
来自菜单。 - Winrar 对话框打开
- 勾选选项
delete files after archiving
- 完成后不要忘记删除node_modules.rar。
[更新] 这也适用于 7Zip
您可以使用 Git Bash 删除文件夹:
示例: c:\users\stu\projects\mynodeproject
rm /c/users/stu/projects/mynodeproject -rfd
从 this MSDN article 的外观来看,您现在可以通过更改 Windows 10 v1607(也称为 'anniversary update')中的值来绕过 MAX_PATH 限制注册表 - 或通过组策略
我用 GitBash 删除了 de 文件夹!
rm -r node_modules
删除所有内容需要一段时间,但对我有用!
任何文件管理器都可以避免此类问题,例如 Far Manager
简单 运行 windows 我还没有在其他操作系统上测试过
rm -r node_modules
事实上,你可以用这个删除任何文件夹。
喜欢rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete.
只需打开 gitbash 移动到文件夹的根目录并 运行 此命令
希望这会有所帮助。
谢谢, 阿杰·科特纳拉
只需使用 powershell..
运行 powershell 并 cd 到父文件夹,然后:
rm [yourfolder]
如:
rm node_modules
尝试Visual Studio代码
在尝试了很多解决方案后,我发现这个非常简单。 只需在可视代码中打开项目并将其删除。 UI 可能会冻结几秒钟,但它肯定会 works.I 使用许多大型 node_modules 文件夹进行测试
谢谢
我在 windows 10,我无法删除带有消息 "directory not emtpy" 的文件夹。 rimraf 和 rm -rf 都不起作用。
将空文本文件复制到每个文件夹就成功了 - 我能够删除整个 node_modules 文件夹。
我使用的一个解决方案:
(在使用 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
重命名为原来的名字.
太简单了。
只需删除 node_modules 中的所有文件夹,然后删除实际的 node_module 文件夹。
这对我有用。祝你好运....
有时,即使您在全局安装了 rimraf
,您也可以有一个本地 rimraf
依赖项(SASS 通常有)。在这种情况下,我会 运行 以下命令:
按照
npm uninstall rimraf & rimraf node_modules
这将删除本地 rimraf
并使用全局
不完全相关,但由于这是我在搜索类似解决方案时发现的第一个 post 我认为值得 post 在这里。
我 运行 在 Windows 10 尝试安装 electron-redux 失败后试图删除我的 node_modules 文件夹时遇到权限问题。似乎 electron-redux 向我的 node_modules 添加了 @types,它的权限设置不正确。
rimraf 没有工作,因为它仍然 运行 权限问题。
我最终重命名 node_modules 然后简单的删除就成功了。
在 Windows 我的解决方案是使用 rmdir
command:
rd /S .\node_modules\
如果第一次失败 -- 再试一次。
还要检查当前是否有 运行 个脚本正在使用这些模块(npm run serve
或类似的)。
我只是在 PowerShell 上的项目文件夹中执行 del node_modules,它会询问您是否要删除它及其子文件夹,只需点击 'Y' 就是这样
好的,我的问题是我在 node_modules 中有 .bin 文件夹,但我无法删除它,我尝试了上述所有解决方案,但没有任何效果。
重复的错误是 "u do not have permission to delete the folder or its been used by some other program"。
我找到的解决方案 "I had Antivirus installed on my pc ,which was unknowingly using the files from node_modules folder"。
我卸载了防病毒软件,或者您可以从防病毒设置选项更改权限设置(取决于您使用的是哪种防病毒软件)。现在我可以删除 node_modules 文件夹。
为多个文件夹提前一点...
如果您有一个包含多个 'builds' 的项目文件夹,其中包含 'node_module'。喜欢:
C:/Project/build-1/node_modules
C:/Project/build-2/node_modules
C:/Project/build-3/node_modules
C:/Project/build-4/node_modules
您要删除所有以 "build"
开头的文件夹!首先按照上面的建议安装 nodejs 和 rimraf !
然后转到带有项目的路径和 运行 PowerShell 命令
cd C:/Project/
Get-ChildItem build* | foreach {rimraf -Path $_.FullName}
这会花点时间
对我有用的是:
- 关闭节点管理器控制台
- 关闭了您所在的 Atom(visual studio 代码)开发环境。
然后删除node_modules
npm install rimraf -g rimraf node_modules
什么都试过了,还是不行。以上所有方法都没有任何作用。最后我可以通过 VSCode.
删除- 只需使用 VSCode 打开您的根文件夹。
- Select
node_modules
文件夹并删除。 - 利润。 (需要
few milliseconds
才能删除。)
您可以根据 @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 上下文项来快速删除 node_modules 或其他文件夹。 我在 Windows 由于目录路径中的一些无效字符而没有删除文件夹时使用它。
如何安装?
安装 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 文件导入注册表。
完成!
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}
您可以使用另一个专门用于此目的的 npm 包。 通过使用
在本地文件夹中安装它npm i rm-node-modules-recur
如果您愿意,也可以使用 -g 开关全局安装它。
如果在本地安装,您可以使用
从当前目录 node_modules.bin\ 调用二进制文件 .\node_modules\.bin\rmnodes "<top level directory within quotes>"
如果您选择全局安装,只需使用
rmnodes "<top level directory within quotes>"
就是这样 .. 这个包最终会轻松地从所有子目录(在我的例子中是大约 60 个奇怪的文件夹)中递归地删除 node_modules。请参阅随附的快照。 using rm-node-modules-recur
请让您自己无需阅读大部分答案,只需使用 npx 而不是尝试全局安装 rimraf。您可以 运行 一个命令,并始终拥有最新版本,其中包含 none 此处看到的问题。
npx rimraf ./**/node_modules
出于备份目的,我需要清理整个项目目录,因此我在根目录(在 git bash 提示符内)安装了 rimraf 和 运行:
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 但缺少递归方面
我想这个以前没有提到过。但删除不需要的 node_modules
的最佳方法是安装一个名为 npmkill
.
安装:
从您的终端:
npm i -g npkill
并使用它:
从您的终端:
npkill
或者你也可以不安装直接使用:
npx npkill
然后您将看到一个项目列表,点击 space 栏可以删除它们的 node_modules
。
在 Windows 平台上,最简单的方法是使用终端。
请运行 命令 RMDIR /Q/S 文件夹名 删除文件夹及其所有子文件夹。
示例:RMDIR /Q/S node_modules
上述命令删除 node_modules 文件夹及其子文件夹。
有关信息,请访问此 https://www.ghacks.net/2017/07/18/how-to-delete-large-folders-in-windows-super-fast/
这真的对我有用:
npm i npkill
npx npkill
select 使用 CURSORS 并按 SPACE 键删除