Comando para remover todos os módulos npm globalmente?

Existe um comando para remover todos os módulos globais do npm? Se não, o que você sugere?

O comando a seguir remove todos os módulos globais do npm. Nota: isso não funciona no Windows. Para uma versão funcional do Windows, consulte a resposta de Ollie Bennett .

npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm 

Aqui está como isso funciona:

  • npm ls -gp --depth=0 lista todos os módulos globais de nível superior (consulte a documentação da cli para ls )
  • awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' imprime todos os módulos que na verdade não são npm (não termina com /npm )
  • xargs npm -g rm remove todos os módulos globalmente que acompanham o xargs npm -g rm anterior

Para aqueles que usam o Windows , a maneira mais fácil de remover todos os pacotes npm instalados globalmente é excluir o conteúdo de:

C:\Users\username\AppData\Roaming\npm

Você pode chegar aqui rapidamente digitando %appdata% (no explorer, no prompt de execução ou no menu Iniciar).

Eu tentei a solução de Kai Sternad , mas pareceu imperfeito para mim. Havia muitos símbolos especiais deixados após o último awk da própria tree deps.

Então, eu desenvolvi minha própria modificação da solução de Kai Sternad (com uma pequena ajuda da ideia de cashmere ):

 npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm|)$' | xargs -r npm -g rm 

npm ls -gp --depth=0 lista todos os módulos npm instalados globalmente em formato analisável :

 /home/leonid/local/lib /home/leonid/local/lib/node_modules/bower /home/leonid/local/lib/node_modules/coffee-script ... 

awk -F/node_modules/ '{print $2}' extrai os nomes dos módulos dos caminhos, formando a lista de todos os módulos instalados globalmente.

grep -vE '^(npm|)$' remove npm e linhas em branco.

xargs -r npm -g rm chama npm -g rm para cada módulo na lista.

Como a solução de Kai Sternad , só funcionará em * nix.

 sudo npm list -g --depth=0. | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g 

funcionou para mim

  • sudo npm list -g --depth=0. lista todos os de nível superior instalados
  • awk -F ' ' '{print $2}' se livrar de ├──
  • awk -F '@' '{print $1}' pega o papel antes de ‘@’
  • sudo xargs npm remove -g remove o pacote globalmente

Basta mudar para o diretório %appdata%/npm e executar o seguinte …

 for package in `ls node_modules`; do npm uninstall $package; done; 

EDIT: este comando quebra com npm 3.3.6 (nó 5.0). Agora estou usando o seguinte comando Bash, que mapeei para npm_uninstall_all no meu arquivo .bashrc:

 npm uninstall `ls -1 node_modules | tr '/\n' ' '` 

Bônus adicionado? é muito mais rápido!

https://github.com/npm/npm/issues/10187

Como você desinstala todas as dependencies listadas em package.json (NPM)?

Para aqueles que usam o Powershell :

 npm -gp ls --depth=0 | ForEach-Object { Get-Item $_ } | Where { $_.Name -ne 'npm' } | ForEach-Object { npm rm -g $_.Name } 

Para limpar o cache:

 npm cache clear 

Se você quiser remover todos os pacotes que você instalou, você pode usar o comando npm -g ls para encontrá-los, e então npm -g rm para removê-los.

Se você tem o jq instalado, você pode ir mesmo sem grep / awk / sed:

 npm ls -g --json --depth=0 | jq -r '.dependencies|keys-["npm"]|join("\n")' | xargs npm rm -g 

No Debian e derivado você pode instalar o jq com:

 sudo apt-get install jq 

SO não especificado pelo OP. Para o Windows , esse script pode ser usado para proteger o local e o cache e os módulos globais do usuário.

Eu notei no linux que a raiz global é verdadeiramente global para o sistema, em vez do usuário dado. Portanto, excluir a raiz global pode não ser uma boa ideia para um sistema compartilhado. Além disso, posso portar o script para bater se estiver interessado.

Para o Windows , salve em um arquivo cmd para ser executado.

 @ECHO OFF SETLOCAL EnableDelayedExpansion SETLOCAL EnableExtensions SET /A ecode=0 :: verify SET /P conf="About to delete all global and local npm modules and clear the npm cache. Continue (y/[n])? IF /I NOT "%conf%"=="y" ( ECHO operation aborted SET /A ecode=!ecode!+1 GOTO END ) :: wipe global and local npm root FOR %%a IN ("" "-g") DO ( :: get root path into var SET cmd=npm root %%~a FOR /f "usebackq tokens=*" %%r IN (`!cmd!`) DO (SET npm_root=%%r) :: paranoid ECHO validating module path "!npm_root!" IF "!npm_root:~-12!"=="node_modules" ( IF NOT EXIST "!npm_root!" ( ECHO npm root does not exist "!npm_root!" ) ELSE ( ECHO deleting "!npm_root!" ... :: delete RMDIR /S /Q "!npm_root!" ) ) ELSE ( ECHO suspicious npm root, ignoring "!npm_root!" ) ) :: clear the cache ECHO clearing the npm cache ... call npm cache clean :: done ECHO done :END ENDLOCAL & EXIT /b %ecode% 

no windows use o caminho “C: \ Users \ nome_do_usuário \ AppData \ Roaming” e remova manualmente a pasta npm

Use este código para desinstalar qualquer pacote:

 npm rm -g  

Bem, se você está no Windows, e deseja remover / desinstalar todos os node_modules, então você precisa fazer os seguintes passos.

  1. Ir para o prompt de comando do windows
  2. Navegue para o diretório node_modules ( não dentro da pasta node_modules )
  3. Digite abaixo o comando e dê-lhe por 1-2 minutos ele irá desinstalar todos os diretórios dentro do node_module

      rmdir /s /q node_modules 

Espero que isso ajude alguém no windows

se você tiver o Intellij Webstorm, poderá usar o gerenciador gráfico de pacotes integrado.

abra-o como root e crie um projeto vazio. vamos para

Arquivo> Configurações> Idioma e Estruturas> Node.js e NPM

lá você verá todos os pacotes instalados. Desinstalar é fácil, você pode selecionar e desmarcar qualquer pacote que você deseja desinstalar, Ctrl + um woks também.

 npm ls -gp | awk -F/ '/node_modules/&&!/node_modules.*node_modules/&&!/npm/{print $NF}' | xargs npm rm -g 

solução sed

 npm -gp ls | sed -r '/npm$|(node_modules.*){2,}/d; s:.*/([^/]+)$:\1:g' | xargs npm rm -g 

É tão simples como: rm -rf ~/.npm

Basta colocar no seu console:

sudo npm list -g –depth = 0. | awk -F ” ‘{print $ 2}’ | awk -F ‘@’ ‘{print $ 1}’ | sudo xargs npm remove -g

Seu trabalho para mim …