ChatGPT解决这个技术问题 Extra ChatGPT

How to Delete node_modules - Deep Nested Folder in Windows

Upon trying to remove the node_modules directory created by npm install:

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

I also tried shift + delete and still having the same issue.

try renaming to shorter name(s) before attempting this operation
Thanks for your suggestion,@SLaks! I should have mentioned that I tried that too, but the files and dirs are many and deep, it has things like C:\Users\my_user_name\projs\backend\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-wrapper\node_modules\bin-check\node_modules\executable\node_modules\meow\node_modules\camelcase-keys\node_modules\... and it goes on. It's impractical to rename files manually and I hope there will be easier ways without writing a program
Webstorm can delete all.
I used the Long Path Fixer tool and successfully removed this ".meteor" folder. (long-path-fixer.en.softonic.com)
RUN INSTALL, npm install rimraf -g, RUN DELETE, rimraf node_modules

b
blub

Since this the top google result, this is what worked for me:

Update, if you have npm v5, use npx:

npx rimraf ./**/node_modules

Otherwise install RimRaf:

npm install rimraf -g

And in the project folder delete the node_modules folder with:

rimraf node_modules

If you want to recursively delete:

rimraf .\**\node_modules

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


I'm the author of the blog post. @olefrank: this tends to happen when you try to delete the whole folder (not just node_modules), and also if you happen to have the folder opened in an Explorer window. usagidon, thanks for linking the original source.
That won't be useful if you don't have NodeJS, or you're trying to delete the global modules of NodeJS after uninstalling it (that is why I had to use robocopy)
I'll add my 2 cents here to be a bit more specific to the question. You can delete all the node_modules folders recursively (using globbing pattern) like this: rimraf .\**\node_modules
One-liner: npx rimraf node_modules. Npx is included with NPM 5.2+ and is a eXecutor for npm packages, which automatically downloads missing npm packages.
@Artif3x 's commnent should be marked as the best answer loll! thanks for the tip for deleting recursively :-)
E
Eymen Elkum

I've simply done that by using Winrar, this may seem a strange solution but working very well.

right click on node_modules folder

select Add to archive ... from the menu.

Winrar dialog opens

just check the option delete files after archiving

Don't forget to delete the node_modules.rar after finished.

https://i.stack.imgur.com/Xbglt.jpg


wow this is sneaky! +1 Been using robocopy tho apparently this has been fixed with new npm or something.
@ChrisS How does it workt with 7Zip? Especially when using the GUI!
In 2016 (and especially 2018) you shouldn't have to be this clever to delete a bunch of files.
yeah, you'd think if winrar can figure it out they could get the window shell to do it.....
@bennos, it works similarly with 7-Zip. Choose Add to Archive to open the GUI. There is an option Delete files after compression.
A
Ali Adravi

DELETE only by using DOS command without any installation:

Create an empty folder "test" on C or D drive and use following DOS command

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

After completing above command, your folder will be empty, now you can delete the folder.

Don't worry your test folder will always be empty, so you can delete it at any time.


best answer, because you don´t need to install anything
After trying rimraf and adding a network folder, this is the cleanest solution I've found. Thanks for sharing this.
great solution; easy.
I just made a minor addion: > NUL. When I just tried this, it was being throttle by the console, and was going to take 15 minutes or more. With the redirection in place, it finished in about 2
It's funny that in order to delete some JS files, you need yet another JS library.
B
Bruno

I used GitBash to remove de folder!

rm -r node_modules

It took a while to delete everything, but worked for me!


This worked for me. I was using rimraf earlier. rimraf didn't work and i tried this.
This should be top comment. Not, installing something just to remove something.. Alternatively just type RD node_modules
For deleting all node_modules folders in a folder with multiple projects use : rm -r ./**/node_modules.
It takes for a while(one hour and more...). But it works
o
olefrank

You can use Git Bash to remove the folder:

example: c:\users\olefrank\projects\mynodeproject

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


This did not work on Windows 7. Directory not empty error
You need to specify the -d flag also, that will also delete directories.
or -fR to recursively climb to the top and delete the folder as well
@Karthiga -rf are flags/options/parameters that tell the RM how to perform the delete operation. r says to recurse into any subdirectories and f says to force deletion (don't prompt). -rf is a unix convention to specify multiple flags/options at once.
D
DiplomacyNotWar

Try Visual Studio Code

After trying many solution i find this one is pretty simple. just open the project in Visual code and delete it. the UI may freeze for some seconds but it will definitely works.I test using many large size node_modules folder with it

https://i.stack.imgur.com/QVeLX.png

Thanks


Strangely works!! :) I've been trying to delete it even in Safe mode, even used sudo su but nothing helps. BTW, I'm running on OSX which never happened to me until I upgraded to Mojave.
Works with Windows 10, too, though I had to use the command multiple times.
Smart idea, but sadly did not go any faster for me in my angular project
Many thanks, worked like champ. Other solutions did not work for me.
J
Jinna Balu

Delete Deep Netsted Folder like node_modules in Windows

Option 1 Delete using rimraf NPM package Open command prompt and change your directory to the folder where node_modules folder exists. Run rimraf node_modules Missing rimraf ERROR then Install npm install rimraf -g When the installation completes, run rimraf node_modules Option 2: Detele without installing anything Create a folder with name test in any Drive robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL delete the folder test and FolderToDelete as both are empty

Why this is an issue in windows?

One of the deep nested folder structure is node_modules, Windows can’t delete the folder as its name is too long. To solve this, Easy solution, install a node module RimRaf


Error: EPERM: operation not permitted
Fixed: I had to restart my computer. Something was using node_modules, but it was giving me a permission error.
A
Artif3x

Please save yourself the need to read most of these answers and just use npx rather than trying to install rimraf globally. You can run a single command and always have the most recent version with none of the issues seen here.

npx rimraf ./**/node_modules

Best answer around. It's fast, it works, and it's smarter than throwing "-g"s around.
A
Abhishek Rathore

I think this was not mentioned before. but the best way to delete unwanted node_modules is to install an utility called npmkill.

Installation:

From your terminal:

npm i -g npkill

And to use it:

From your terminal:

npkill

or alternatively, you can directly use it without installation by writing:

npx npkill

You will then be presented with a list of projects, and by hitting space bar you can delete their node_modules.


A
Ajay Kotnala

simple just run for windows I haven't tested it for other operating systems

rm -r node_modules

in fact, you can delete any folder with this.

like rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete.

just open the gitbash move to root of the folder and run this command

Hope this will help.

Thanks, Ajay Kotnala


S
Stuart.Sklinar

You can use Git Bash to remove the folder:

example: c:\users\stu\projects\mynodeproject

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


C
Chris

I had a similar problem and RD didn't work, for some unknown reason.

NPM can get rid of its own mess though, so if you do npm uninstall [module-name] for each directory in node_modules, you'll get rid of them.

(I'll look up how to batch loop this later, for those who have lots of dependencies.)


j
j_quelly

npm install -g remove-node-modules cd to root and remove-node-modules or remove-node-modules path/to/folder

Source:

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


R
Roy.B

I just do del node_modules inside my project folder on PowerShell, it will ask you if you want to remove it and its children folder, just hit 'Y' and that's it


Simple one. Thank you
...\node_modules has children and the Recurse parameter was not specified. If you continue, all children will be removed with the item. Are you sure you want to continue? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Y rd : Directory C:\...\node_modules\ngx-color-picker\dist cannot be removed because it is not empty. rd node_modules -recurse
rd node_modules -recurse
@AUSTX_RJL rd also works, but I never had a problem with del node_modules.. wired, but tnx any way for another way of deleting in PS
W
Woriayibapri Hearty Alapher

On Windows Platform the simplest way is to use the terminal. Please Run the command RMDIR /Q/S foldername to delete the folder and all of its subfolders.

Example: RMDIR /Q/S node_modules

The Above Command deletes node_modules folder and its subfolders.
For information please visit this https://www.ghacks.net/2017/07/18/how-to-delete-large-folders-in-windows-super-fast/


J
Junaid Atari

Tried everything but didn't work. All the above methods did nothing. At last I was able to delete via VSCode.

Just Open your root folder with VSCode. Select node_modules folder and delete. Profit. (It will take few milliseconds to delete.)

https://i.stack.imgur.com/P522a.png


L
Libu Mathew

This really worked for me:

npm i npkill

npx npkill

select with CURSORS and press SPACE key to delete


l
leoh

On Windows, using Total Commander all you have to do is select the folder click shift + delete . Don't forget about the shift key.


This is the best solution! TC deletes the folder with no hiccups and it's really fast
V
Veniamin

Any file manager allow to avoid such issues, e.g Far Manager

https://i.stack.imgur.com/89Ims.png


I hadn't seen anyone using that kinda interface for 10+ years now.. J made my day.
A
Alper Ebicoglu

I made a Windows context item to fast delete node_modules or other folders. I use it when Windows doesn't delete a folder because of some invalid chars in the directory path.

HOW TO INSTALL?

Install rimraf => npm install rimraf -g Create a new file named delete.bat, set the content as below and copy it into 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

Run fast-delete.reg file to import into registry. Done!

https://i.stack.imgur.com/bGS5g.png


Complete article in ghacks.net/2017/07/18/…
L
Lino Mediavilla

I needed to clean up an entire Projects directory for backup purposes, so I installed rimraf and ran this at the root dir (inside a git bash prompt):

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

Very effective, truly recursive (avoids children node_modules) and fast on windows (thanks to rimraf).

Sources:

https://rtmccormick.com/2018/01/10/clear-node-modules-folders-recursively-mac-linux/ The accepted answer in this question that suggests rimraf but lacks in the recursive aspect


D
Darren Ford

Just use powershell..

Run powershell and cd to the parent folder and then:

rm [yourfolder]

as in:

rm node_modules

R
Rikki

One solution that I use:

(I would prefer to avoid installing a new extension (rimraf) when working with CI environments.)

A) Rename packages.json to something else. B) Specially on CI - after npm install, I usually remove the file instead of renaming it, but if you need it, you don't have to do this. That's your choice. run npm init - this will create an empty packages.json file (no dependencies) run npm prune - this will match node_modules with the dependencies section of packages.json - which is now empty as the result of step #2. If you have chosen #1.A. step, delete the newly created packages.json, and rename original packages.json back to its original name.


P
Priyanka

Its too easy.

Just delete all folders inside node_modules and then delete actual node_module folder.

This Works for me. Best luck....


Honestly, this is the faster way but a lot of patience is required. Even better if you delete a few folders at a time.
u
user2869931

Sometimes, even if you install rimraf globally you can have a local rimraf dependency (SASS usually have it). In this case I would run following commands:

Follow first 2 steps as usagidon recommended, if you have issues or errors try

npm uninstall rimraf & rimraf node_modules

this will delete local rimraf and use the global one


k
korun

On Windows my go to solution is using the rmdir command:

rd /S .\node_modules\

If it fails the first time -- try one more time. Also check if you have running scripts currently using the modules (npm run serve or similar).


d
dgellow

The PowerShell way:

PS > rm -r -force node_modules

# The same, but without using aliases
PS > Remove-Item -Recurse -Force node_modules

And if you want to delete every node_modules in sub directories:

Note Potentially dangerous as it deletes recursively, be sure of what you're doing here

PS > dir -Path . -Filter node_modules -recurse | foreach {echo $_.fullname; rm -r -Force $_.fullname}

m
moloko

From this looks of this MSDN article, it looks like you can now bypass the MAX_PATH restriction in Windows 10 v1607 (AKA 'anniversary update') by changing a value in the registry - or via Group Policy


r
ralusnom

I'm on windows 10 and I could'nt delete folders with message "directory not emtpy". Neither rimraf nor rm -rf worked.

Copying an empty text file to every single folder did the trick - I was able to delete the complete node_modules folder.


J
Jake Conniff

Not exactly related, but as this is the first post I found in my search for a similar solution I think it's worth posting here.

I was running into permission issues on Windows 10 trying to delete my node_modules folder after a failed attempt at installing electron-redux. It seems electron-redux added @types to my node_modules, which had incorrect permissions set up.

rimraf did not work as it still ran into permission issues.

I ended up renaming node_modules then a simple delete worked.