Existe um comando para remover todos os módulos npm globais? Se não, o que você sugere?
381
O comando a seguir remove todos os módulos npm globais. Nota: isso não funciona no Windows. Para uma versão funcional do Windows, consulte Resposta de Ollie Bennett .
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
Aqui está como funciona:
npm ls -gp --depth=0
lista todos os módulos globais de nível superior (consulte a documentação do cli para ls )awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'
imprime todos os módulos que não são realmente o próprio npm (não termina com /npm
)xargs npm -g rm
remove todos os módulos globalmente que passam pelo canal anterior
awk -F' |@' '/@/ {if ($(NF-1) != "npm") {print $(NF-1)}}'
Explicação: divida em espaços ou @, apenas combine linhas com @, o nome do módulo será o penúltimo da última match ($(NF-1)
), portanto, apenas imprima se não énpm
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 lá rapidamente digitando
%appdata%/npm
o explorer, o prompt de execução ou no menu Iniciar.fonte
%USERPROFILE%\AppData\npm
sem oroaming
.npm install
novamente. Eu tive que excluir meupackage-lock.json
arquivo também.Tentei a solução de Kai Sternad , mas me pareceu imperfeita. Restavam muitos símbolos especiais após o último
awk
da própria árvore deps.Então, criei minha própria modificação da solução de Kai Sternad (com uma pequena ajuda da idéia da caxemira ):
npm ls -gp --depth=0
lista todos os módulos npm instalados globalmente no formato analisável :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 o próprio npm e as linhas em branco.xargs -r npm -g rm
chamanpm -g rm
para cada módulo na lista.Como a solução de Kai Sternad , ele só funcionará com * nix.
fonte
npm
instala todos os seus módulos globais no mesmo diretório. A localização exata pode variar, mas normalmente é/usr/local/lib/node_modules
.npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm)$' | xargs npm -g rm
@angular/cli
). Eu adiciono outro matcher paraawk
e o comando de trabalho para mim se parece com o seguinte: #npm ls -gp --depth=0 | awk -F/ '/node_modules\/@/ {print $(NF-1)"/"$NF} /node_modules\/[^@]/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
trabalhou para mim
sudo npm list -g --depth=0.
lista todos os níveis superiores instaladosawk -F ' ' '{print $2}'
se livrar de ├──awk -F '@' '{print $1}'
recebe a parte antes de '@'sudo xargs npm remove -g
remove o pacote globalmentefonte
npm remove UNMET
simplesmente o NOOP.grep -v npm
para que o próprio npm não seja removido:sudo npm list -g --depth=0. | grep -v npm | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
Para aqueles que usam o Powershell :
Para limpar o cache:
fonte
Basta mudar para o
%appdata%/npm
diretório e executar o seguinte ...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:
Bônus adicionado? é muito mais rápido!
https://github.com/npm/npm/issues/10187
Como você desinstala todas as dependências listadas no package.json (NPM)?
fonte
npm
en
antes dotr
no Windows, vá para o diretório "C: \ Users {nome de usuário} \ AppData \ Roaming" e remova manualmente a pasta npm
fonte
Se você deseja remover todos os pacotes que você instalou, pode usar o
npm -g ls
comando para encontrá-los e depoisnpm -g rm
removê-los.fonte
Se você possui o jq instalado, pode continuar sem o grep / awk / sed:
No Debian e derivado, você pode instalar o jq com:
fonte
json
estilo apropriado .npm ls -g --json --depth=0 | jq -r '.dependencies|keys-["npm"]|join("\n")' | xargs sudo npm rm -g
SO não especificado pelo OP. Para Windows , esse script pode ser usado para nuke os módulos e o cache global e local do usuário.
Percebi no linux que a raiz global é verdadeiramente global para o sistema em vez do usuário especificado. Portanto, excluir a raiz global pode não ser uma boa ideia para um sistema compartilhado. Além disso, posso portar o script para o bash, se estiver interessado.
No Windows , salve em um arquivo cmd para executar.
fonte
Use este código para desinstalar qualquer pacote:
fonte
Tudo que você fez um bom trabalho. Isso é sugestões combinadas em um código de linha.
O que está diferente? A desinstalação será feita em um único comando, como:
npm rm -g *** *** ***
fonte
Você pode localizar todos os pacotes npm instalados no local:
e exclua o conteúdo do npm que você deseja remover.
Se o AppData não estiver sendo exibido, significa que está oculto e você pode ir para Exibir no explorador de arquivos e verificar os itens ocultos; então, você pode ver todas as pastas ocultas.
fonte
Bem, se você estiver no Windows e quiser remover / desinstalar todos os node_modules, precisará executar as etapas a seguir.
Digite o comando abaixo e dê-o por 1-2 minutos; ele desinstalará todos os diretórios dentro do node_module
Espero que isso ajude alguém no Windows
fonte
se você tiver o Intellij Webstorm, poderá usar seu gerenciador de pacotes gráfico embutido.
abra-o como root e crie um projeto vazio. vamos para
lá você verá todos os pacotes instalados. A desinstalação é fácil, você pode selecionar e desmarcar qualquer pacote que deseja desinstalar, Ctrl + a woks também.
fonte
Para
yarn global
Ou, se você não se importa com o que realmente está dentro
package.json
Isso também deve se aplicar ao NPM, mas não sei exatamente onde o NPM global está armazenado.
fonte
fonte
Como essa é a principal resposta na pesquisa, eu estou postando isso aqui, pois foi a solução que usei no passado para limpar os computadores que trocavam de laptops.
fonte: https://winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e
fonte
Aqui está uma solução mais elegante que eu tentei onde deixei a npm fazer todo o trabalho para mim.
Então, se você faz
npm uninstall
ounpm remove
esses módulos serão tratados como se fossem dependências normais de um projeto. Ele até gera um arquivo package-lock.json quando é feito:fonte
solução sed
fonte
Basta colocar no seu console:
sudo lista npm -g --depth = 0. | awk -F '' '{print $ 2}' | awk -F '@' '{print $ 1}' | sudo xargs npm remove -g
É um trabalho para mim ...
fonte