Dev

Como deletar recursivamente todos as pastas node_modules do Windows, Linux e Mac

Pinterest LinkedIn Tumblr

Quem desenvolve em node já percebeu que toda vez que começamos um projeto e executamos npm install, uma infinidade de dependências são instaladas e na maioria das vezes não nos preocupamos com a quantidade de arquivos e o espaço que eles podem ocupar em nosso disco.

Uma única pasta node_modules pode chegar a pesar entre 200mb e 1gb! Multiplique isso pela quantidade de projetos que se tem em seu computador e teremos um verdadeiro problema de armazenamento.

Recentemente precisei fazer um backup da minha pasta de projetos, mas ela estava pesando algo em torno de 20gb, o que tornou o processo extremamente lento, mesmo comprimindo, ainda precisava otimizar mais. Decidi então remover todas as pastas node_modules e para minha não surpresa, o tamanho reduziu para apenas 2gb!

Encontrando e listando todas as pastas node_modules

Primeira vamos listar todas as pastas node_modules dentro da pasta em que queremos procurar recursivamente, é importante analisar com calma para não deletar algo indesejado.

Mac / Linux:

$ cd projects
$ find . -name "node_modules" -type d -prune -print | xargs du -chs

Windows:

$ cd projects
$ FOR /d /r . %d in (node_modules) DO @IF EXIST "%d" echo %d"

Eu estou usando o emulador de terminal do GitBash que me permite o uso do comando rm -rf no Windows.

Deletando todas as pastas node_modules

Agora vamos adicionar ao nosso comando a opção de deletar. ESSE PROCESSO É IRREVERSÍVEL, tenha certeza do que está fazendo.

Mac / Linux:

$ cd projects
$ find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;

Windows:

$ cd projects
$ FOR /d /r . %d in (node_modules) DO @IF EXIST "%d" rm -rf "%d"

Windows PowerShell:

Get-ChildItem -Path "." -Include "node_modules" -Recurse -Directory | Remove-Item -Recurse -Force

Um nerd nada tradicional… Desenvolvedor web full-stack, escritor amador e inventor nas horas vagas. Apaixonado por tecnologia e entusiasmado por projetos de código aberto!

Deixe um comentário

avatar
  Subscribe  
Notify of