如何删除node_modules - Windows中的深层嵌套文件夹

时间:2015-01-27 16:26:25

标签: node.js windows-7 npm

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

  

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

我还尝试过 shift + 删除并仍然遇到同样的问题。

34 个答案:

答案 0 :(得分:371)

由于这是google的最高结果,这对我有用:

安装RimRaf:

npm install rimraf -g

在项目文件夹中,删除node_modules文件夹:

rimraf node_modules

[http://www.nikola-breznjak.com/blog/nodejs/how-to-delete-node_modules-folder-on-windows-machine/]

答案 1 :(得分:90)

我只是通过使用Winrar完成了这项工作,这似乎是一个奇怪的解决方案,但效果非常好。

  • 右键点击node_modules文件夹
  • 从菜单中选择Add to archive ...
  • Winrar对话框打开
  • 只需选中delete files after archiving
  • 选项即可
  • 完成后不要忘记删除node_modules.rar。

<小时/> [UPDATE] 这也适用于7Zip

答案 2 :(得分:65)

创建一个空文件夹&#34; test&#34;在C或D驱动器上并使用以下DOS命令

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

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

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

答案 3 :(得分:24)

您可以使用Git Bash删除文件夹:

例如: C:\用户\ olefrank \项目\ mynodeproject

  

rm -rf / c / users / olefrank / projects / mynodeproject

答案 4 :(得分:8)

我使用GitBash删除了de folder!

rm -r node_modules

删除所有内容需要一段时间,但对我有用!

答案 5 :(得分:6)

您可以使用Git Bash删除文件夹:

例如: C:\用户\ STU \项目\ mynodeproject

  

rm / c / users / stu / projects / mynodeproject -rfd

答案 6 :(得分:6)

尝试使用Visual Studio代码

尝试了很多解决方案后,我觉得这个很简单。 只需在Visual代码中打开项目并删除它。用户界面可能会冻结几秒钟,但肯定会有效。我用它测试了很多大尺寸的node_modules文件夹

enter image description here

由于

答案 7 :(得分:5)

我有一个类似的问题,RD没有工作,原因不明。

NPM可以摆脱它自己的混乱,所以如果你对node_modules中的每个目录npm uninstall [module-name],你就可以摆脱它们。

(对于那些有很多依赖关系的人,我会在以后查看如何批处理循环。)

答案 8 :(得分:5)

请省去阅读大多数这些答案的麻烦,仅使用npx而不是尝试全局安装rimraf。您可以运行一个命令,并且始终拥有最新版本,而这里没有任何问题。

npx rimraf ./**/node_modules

答案 9 :(得分:3)

  1. npm install -g remove-node-modules
  2. cd to root and remove-node-modules
  3. remove-node-modules path/to/folder
  4. 来源:

    https://github.com/j-quelly/node-cleanup

答案 10 :(得分:2)

简单地运行 Windows我还没有对其他操作系统进行过测试

rm -r node_modules

实际上,您可以删除任何文件夹。

喜欢 rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete。

只需打开 gitbash 移动到该文件夹​​的根目录并运行此命令

希望这会有所帮助。

谢谢, Ajay Kotnala

答案 11 :(得分:1)

我认为以前没有提到过。但是删除不想要的node_modules的最好方法是安装一个名为npmkill的实用程序。

安装:

在您的终端上

npm i -g npkill

并使用它:

在您的终端上

npkill

然后,您将看到一个项目列表,单击空格键可以删除它们的node_modules

答案 12 :(得分:1)

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

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

非常有效,真正的递归(避免使用子节点node_modules),并且在Windows上快速运行(感谢rimraf)。

来源:

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

答案 13 :(得分:1)

我使用的一个解决方案:

(我希望在使用CI环境时避免安装新的扩展程序(rimraf)。)

  1. A)将packages.json重命名为其他内容。 B)特别是在CI上 - 在npm安装之后,我通常会删除文件而不是重命名文件,但是如果你需要它,你不必这样做。这是你的选择。
  2. 运行npm init - 这将创建一个空的packages.json文件(无依赖关系)
  3. 运行npm prune - 这会将 node_modules packages.json的依赖项部分相匹配 - 由于步骤2的结果,该部分现在为空。
  4. 如果您选择了#1.A。步骤,请删除新创建的packages.json,并将原始packages.json重命名为原始名称。

答案 14 :(得分:1)

太容易了。

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

这适合我。祝你好运....

答案 15 :(得分:1)

任何文件管理员都可以避免此类问题,例如Far Manager

enter image description here

答案 16 :(得分:1)

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}

答案 17 :(得分:1)

在Windows上,我的解决方案是使用rmdir command

rd /S .\node_modules\

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

答案 18 :(得分:1)

我只是在PowerShell上的项目文件夹中执行 del node_modules ,它会询问您是否要删除它及其子文件夹,只需单击“ Y”就可以了

答案 19 :(得分:0)

这对我很有用:

npm i npkill

npx npkill

用光标选择并按空格键删除

答案 20 :(得分:0)

许多构建跑步者都肩负着一项清洁的任务。此任务通常只删除一堆文件,因此您可以从一个新的工作副本开始构建。好吧,事实证明,Bash本身具有一个非常好的清理命令:rm。传递-r(递归)标志可以让rm也删除目录!这再简单不过了:

全局安装rimraf

npm install rimraf -g

添加如下所示的清洁任务:

"devDependencies": {
  "rimraf": "latest"
},
"scripts": {
  "clean": "rimraf node_modules"
}

For more details, there is a section about cleaning task using rimraf here

答案 21 :(得分:0)

尝试了一切,但没有成功。以上所有方法均无济于事。最后,我能够通过VSCode删除。

  1. 只需使用VSCode打开您的根文件夹即可。
  2. 选择library(ggplot2) ggplot(df, aes(x = x, y = y)) + geom_point(size=1, col="blue") + scale_x_continuous(labels=function(x) format(x, big.mark = " ", decimal.mark = ",", scientific = FALSE), breaks = c(1000000,20000000,40000000,60000000)) 文件夹并删除。
  3. 利润。 (需要node_modules才能删除。)

VSCode-delete.png

答案 22 :(得分:0)

在Windows平台上,最简单的方法是使用终端。
请运行命令RMDIR / Q / S foldername 删除文件夹及其所有子文件夹。

示例:RMDIR / Q / S node_modules

上述命令删除 node_modules 文件夹及其子文件夹。
有关信息,请访问此https://www.ghacks.net/2017/07/18/how-to-delete-large-folders-in-windows-super-fast/

答案 23 :(得分:0)

对我有用的是:

  1. 关闭节点管理器控制台
  2. 关闭了您所在的Atom(Visual Studio代码)开发环境。
  3. 然后删除node_modules

    npm install rimraf -g 
    rimraf node_modules
    

答案 24 :(得分:0)

好的,所以我的问题是我在node_modules中有.bin文件夹,但我无法删除它,我尝试了所有上述解决方案,但均无效果。

重复的错误是“您无权删除该文件夹或该文件夹已被其他程序使用”。

我发现“我的PC上安装了防病毒软件,在不知不觉中使用了node_modules文件夹中的文件”的解决方案。

我卸载了防病毒软件,或者您可以从防病毒设置选项更改权限设置(取决于您使用的防病毒软件)。现在,我可以删除node_modules文件夹。

答案 25 :(得分:0)

不完全相关,但由于这是我在搜索类似解决方案时发现的第一篇文章,我认为值得在此发帖。

在尝试安装electron-redux失败后尝试删除我的node_modules文件夹时,我遇到了许可问题。似乎electron-redux将@types添加到我的node_modules,它设置了不正确的权限。

rimraf没有工作,因为它仍然遇到了许可问题。

我最终重命名了node_modules,然后进行了简单的删除工作。

答案 26 :(得分:0)

有时,即使您在全球范围内安装rimraf,您也可以拥有本地rimraf依赖关系(SASS通常拥有它)。在这种情况下,我将运行以下命令:

按照建议usagidon的前两个步骤进行操作,如果您遇到问题或错误,请尝试

npm uninstall rimraf & rimraf node_modules

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

答案 27 :(得分:0)

我在Windows 10上,我可以删除带有消息的文件夹&#34;目录不是emtpy&#34;。 rimraf rm -rf 都不起作用。

将空文本文件复制到每个文件夹就可以了 - 我能够删除完整的node_modules文件夹。

答案 28 :(得分:0)

只需使用powershell ..

将powershell和cd运行到父文件夹,然后执行:

rm [yourfolder]

如:

rm node_modules

答案 29 :(得分:0)

从这篇MSDN文章的外观来看,您现在可以通过更改注册表中的值或通过组策略绕过Windows 10 v1607(AKA'周年纪念更新')中的MAX_PATH限制

答案 30 :(得分:-1)

对多个文件夹稍作调整 ...

如果您的项目文件夹包含多个包含“ node_module”的“内部版本”。喜欢:

cd  C:/Project/
Get-ChildItem build* | foreach {rimraf -Path $_.FullName}

您要删除所有以“ build”开头的文件夹

!首先按照上述建议安装 nodejs rimraf

然后转到项目路径并运行PowerShell命令

import React, { Component } from 'react';
import {
  BrowserRouter as Router,
  Route,
  Link,
  Redirect,
  withRouter
} from 'react-router-dom';
import App from '../App';
import { Auth } from 'aws-amplify';
//last thing 333

async function userAuth() {
  let something = Boolean;
  Auth.currentSession()
    .then(function(fulfilled) {
      console.log('worked' + fulfilled);
      something === true;
      return something;
    })
    .catch(function(error) {
      console.log('didnt work' + error);
      window.location.href = '/';
      return error;
    });
}
export default ({ component: C, ...rest }) => (
  alert('this is the user auth ' + userAuth()),
  (
    <Route
      {...rest}
      render={
        props =>
          userAuth() === 'something' ? (
            <Redirect to="/" />
          ) : (
            <C {...props} />
          )
      }
    />
  )
);

需要花时间

答案 31 :(得分:-1)

您可以根据 @ 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

下载它

答案 32 :(得分:-1)

您可以为此目的专门使用另一个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>"

多数民众赞成在它..该软件包将最终轻松地从所有子目录中递归删除node_modules(在我的情况下是大约60个奇数文件夹)。请参阅附件快照。 using rm-node-modules-recur

答案 33 :(得分:-4)

使用cmd在您的node_modules文件夹中转到您的路径,并在命令

下面应用
npm install rimraf -g 
rimraf node_modules