Reputation: 10608
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.
Upvotes: 375
Views: 602464
Reputation: 1635
I think this was not mentioned before. but the best way to delete unwanted node_modules
is to install a utility called npkill
.
From your terminal:
npm i -g npkill
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 the space bar you can delete their node_modules
.
Upvotes: 33
Reputation: 5442
I always use the GitBash for this purpose.
Run the below command in GitBash and it will delete node_modules
folder very faster.
rm -rf node_modules
Upvotes: 10
Reputation: 169
For windows users
> cd work_directory
> FOR /d /r . %d in (node_modules) DO @IF EXIST "%d" rm -rf "%d"
For linux users
$ cd work_directory
$ find . -name "node_modules" -type d -prune | xargs du -chs
this will help to delete all deep nested node_modules in your directory
Upvotes: 0
Reputation: 976
Latest version of rimraf doesn't work with double asterisk (i.e. rimraf .**\node_modules). Solution is to use older version:
npm i [email protected] -g
and then run
rimraf .\**\node_modules
Upvotes: 0
Reputation: 9187
Since this the top google result, this is what worked for me:
Update, if you have npm v5, use npx:
npx rimraf --glob **/node_modules
Otherwise install RimRaf:
npm install rimraf -g
And in the project folder delete the node_modules folder with:
rimraf --glob node_modules
If you want to recursively delete:
rimraf --glob .\**\node_modules
[ http://www.nikola-breznjak.com/blog/nodejs/how-to-delete-node_modules-folder-on-windows-machine/ ]
Upvotes: 705
Reputation: 27395
On Windows
Run below to remove files under node_modules
and sub directories & also remove folders in it:
DEL /F/S/Q node_modules > NUL 2>&1 & RMDIR /S/Q node_modules > NUL 2>&1
Upvotes: 0
Reputation: 131
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/
Upvotes: 10
Reputation: 41
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:
Upvotes: 4
Reputation: 4661
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
Upvotes: 25
Reputation: 1735
You may use another npm package specifically for this purpose. By installing it locally in the folder using
npm i rm-node-modules-recur
If you wish you can also install it globally with -g switch.
If installed locally you can invoke the binary from current directory node_modules.bin\ using
.\node_modules\.bin\rmnodes "<top level directory within quotes>"
If you chose global installation simply use
rmnodes "<top level directory within quotes>"
and thats it .. this package will end up deleting node_modules from all sub directories recursively (in my case some 60 odd folders) with ease. refer attached snapshot. using rm-node-modules-recur
Upvotes: -1
Reputation: 832
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}
Upvotes: 5
Reputation: 22723
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.
Upvotes: 94
Reputation: 9624
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.
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!
Upvotes: 3
Reputation: 138
You can make simple batch based on @mike-caron answer so you don't need to type every time whole robocopy
command instead just input path to selected folder:
@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
Here you are using empty directory named empty_dir in robocopy
command that needs to be in same directory with batch file for this to work. After batch file finishes its job both selected directory and empty_dir directory will be empty so that you can remove them.
I made a simple batch file that creates empty folder and after robocopy
command is executed removes both empty folder and selected folder so that only thing you need to do is enter path to selected folder that you want to delete.
It is fast and practical if you don't want to install stuff like rimraf.
You can download it here https://github.com/5imun/WinCleaner
Upvotes: -2
Reputation: 563
Tried everything but didn't work. All the above methods did nothing. At last I was able to delete via VSCode.
node_modules
folder and delete.few milliseconds
to delete.)Upvotes: 3
Reputation: 477
What worked for me was:
then delete the node_modules
npm install rimraf -g
rimraf node_modules
Upvotes: -1
Reputation: 7809
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
Upvotes: 22
Reputation: 2301
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).
Upvotes: 1
Reputation: 843
Advance a little beat for multiple folders...
If you have a project folder with multiple 'builds' that contains 'node_module'. Like:
C:/Project/build-1/node_modules
C:/Project/build-2/node_modules
C:/Project/build-3/node_modules
C:/Project/build-4/node_modules
You want to delete all folders starts with "build"
! First install nodejs and rimraf as suggested above !
Then go to path with project and run PowerShell command
cd C:/Project/
Get-ChildItem build* | foreach {rimraf -Path $_.FullName}
It will take a wile
Upvotes: -1
Reputation: 23
Okay so my problem was that i had .bin folder inside node_modules and i wasn't able to delete that, I tried all the above solutions for the same but nothing worked.
Error which was repeating was "u do not have permission to delete the folder or its been used by some other program".
Solution that i found "I had Antivirus installed on my pc ,which was unknowingly using the files from node_modules folder".
I uninstalled the antivirus or u can change permission setting from antivirus setting option (depends on which antivirus u have).Now i am able to delete node_modules folder.
Upvotes: 0
Reputation: 2106
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
Upvotes: 5
Reputation: 1449
npm install -g remove-node-modules
remove-node-modules
remove-node-modules path/to/folder
Source:
https://github.com/j-quelly/node-cleanup
Upvotes: 5
Reputation: 9
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.
Upvotes: 0
Reputation: 47
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
Upvotes: 1
Reputation: 3141
I've simply done that by using Winrar, this may seem a strange solution but working very well.
node_modules
folderAdd to archive ...
from the menu.delete files after archiving
Upvotes: 142
Reputation: 4161
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
Thanks
Upvotes: 25
Reputation: 19
Its too easy.
Just delete all folders inside node_modules and then delete actual node_module folder.
This Works for me. Best luck....
Upvotes: 1
Reputation: 3528
(I would prefer to avoid installing a new extension (rimraf) when working with CI environments.)
npm init
- this will create an empty packages.json
file (no dependencies)npm prune
- this will match node_modules with the dependencies section of packages.json
- which is now empty as the result of step #2.packages.json
, and rename original packages.json
back to its original name.Upvotes: 1
Reputation: 135
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.
Upvotes: 0