Se eu tiver um arquivo package.json definido na raiz do meu aplicativo e executá- npm install -g
lo, instalarei todas as dependências definidas em package.json, globalmente.
No entanto, isso não parece funcionar ao contrário.
Se eu fizer isso npm uninstall -g
na raiz do meu aplicativo, ocorrerá um erro, exigindo que eu lhe passe um nome de pacote.
Isso não deveria desinstalar os mesmos pacotes que instalei?
Estou fazendo algo errado?
Respostas:
Se estiver usando o Bash, basta alternar para a pasta que contém o arquivo package.json e executar o seguinte:
No caso de pacotes instalados globalmente, mude para sua
%appdata%/npm
pasta (se no Windows) e execute o mesmo comando.EDIT: Este comando quebra com npm 3.3.6 (Node 5.0). Agora estou usando o seguinte comando Bash, que mapeei para npm_uninstall_all em meu arquivo .bashrc:
Bônus adicionado? é muito mais rápido!
https://github.com/npm/npm/issues/10187
fonte
npm uninstall <package>
para cada pasta. Eu mesmo fiz isso e funciona perfeitamente!npm uninstall
cuida disso, por isso esse truque é útil.foreach($package in ls node_modules){npm uninstall $package}
tr is not recognized
Isso funcionou para mim:
prompt de comando ou gitbash na pasta node_modules em seu projeto e execute:
Todos os pacotes locais desse projeto foram removidos.
fonte
Para Windows, vá para node_modules dir e execute-o no PowerShell
fonte
Recentemente, encontrei um comando de nó que permite desinstalar todas as dependências de desenvolvimento da seguinte maneira:
Como mencionei, esse comando apenas desinstala os pacotes de dependência de desenvolvimento. Pelo menos me ajudou a não ter que fazer manualmente.
fonte
Dica para usuários do Windows: execute este comando do PowerShell de dentro do
node_modules
diretório pai:fonte
Isso cria essencialmente um package.json falso e vazio, chama
npm prune
para remover tudo em node_modules, restaura o package.json original e reinstala tudo.Algumas das outras soluções podem ser mais elegantes, mas suspeito que seja mais rápido e exaustivo. Em outros threads, vi pessoas sugerirem apenas a exclusão do diretório node_modules, mas pelo menos para o Windows, isso faz com que o npm engasgue depois porque o diretório bin desaparece. Talvez no Linux ele seja restaurado corretamente, mas não no Windows.
fonte
Na verdade não há opção para fazer isso, se você quiser desinstalar os pacotes de
package.json
simplesmente façanpm ls
no mesmo diretório quepackage.json
depende e usenpm uninstall <name>
ounpm rm <name>
para o pacote que deseja remover.fonte
npm i
"
npm i
" não só instalará dependências ausentes, como atualizará node_modules para corresponder ao package.jsonfonte
( Não replique essas etapas antes de ler tudo )
Para mim, todas as soluções mencionadas não funcionaram. Então eu fui
/usr/lib
e corri láMas também removeu o
npm
pacote e apenas metade dos pacotes (até chegar à letra n).Então, tentei instalar o nó novamente pelo guia de nó.
Mas não foi instalado
npm
novamente.Então decidi reinstalar o nó inteiro
sudo apt-get remove nodejs
E instalar novamente pelo guia acima.Agora o NPM está funcionando novamente, mas os módulos globais ainda estão lá. Então eu verifiquei o conteúdo do diretório
/usr/lib/node_modules
e parece que o único importante aqui énpm
. Então editei o comando acima para desinstalar tudo, excetonpm
Ele removeu todos os módulos que não foram prefixados
@
. Então, eu estendi o loop para subdiretórios.Meu
/usr/lib/node_modules
agora contém apenasnpm
pacotes vinculados.fonte
Mesmo você não precisa executar o loop para isso.
Você pode excluir todos os node_modules usando o único comando: -
fonte
Usuários Powershell:
foreach($package in ls node_modules){npm uninstall $package}
Obrigado @JustMailer
fonte
Aproveitando de VIKAS KOHLI e jedmao , você pode fazer isso
versão de linha única:
versão multilinha:
fonte
Outra opção SIMPLES é excluir os node_modules e package-lock.json
Depois disso, você pode tentar reinstalar os pacotes npm
fonte