Se você usa NVM no dia a dia, provavelmente já passou por isso:
Você atualiza o Node para uma versão mais nova e, de repente, seus packages globais somem.
Angular CLI, Nest CLI, Expo, tudo desaparece.
Recentemente eu estava atualizando da versão:
v24.13.1
para:
v24.15.0
e descobri uma funcionalidade muito boa do NVM que muita gente não conhece.
Entendendo o que acontece
Cada versão do Node instalada pelo NVM possui seu próprio ambiente isolado.
Ou seja:
~/.nvm/versions/node/v24.13.1
é completamente separado de:
~/.nvm/versions/node/v24.15.0
Isso significa que os packages globais instalados em uma versão não aparecem automaticamente na outra.
Como listar seus packages globais
Primeiro, use a versão antiga:
nvm use 24.13.1
Depois liste os packages globais:
npm list -g --depth=0
Exemplo real:
/Users/me/.nvm/versions/node/v24.13.1/lib
├── @angular/cli@21.1.4
├── @expo/ngrok@4.1.3
├── @nestjs/cli@11.0.21
├── corepack@0.34.6
└── npm@11.8.0
Instalando uma nova versão do Node e migrando os packages
Aqui está a parte interessante.
Você pode instalar uma nova versão do Node e pedir para o NVM reinstalar automaticamente os packages globais da versão anterior:
nvm install 24.15.0 --reinstall-packages-from=24.13.1
Isso reinstala automaticamente:
- @angular/cli
- @nestjs/cli
- @expo/ngrok
sem precisar reinstalar manualmente tudo depois.
Um detalhe importante
Isso NÃO atualiza os packages para a última versão.
Ele reinstala exatamente as mesmas versões que você já tinha.
Exemplo:
@angular/cli@21.1.4
continua:
@angular/cli@21.1.4
Como atualizar os packages globais depois
Se quiser atualizar tudo:
npm update -g
Ou atualizar packages específicos:
npm install -g @angular/cli@latest
npm install -g @nestjs/cli@latest
Pra verificar o que está desatualizado:
npm outdated -g
Um detalhe que me pegou
O comando:
--reinstall-packages-from
só funciona durante a instalação da versão.
Se a versão já estiver instalada, o NVM apenas faz:
nvm use
e não reinstala nada.
Então, se você já instalou a versão nova antes, faça:
nvm uninstall 24.15.0
e depois:
nvm install 24.15.0 --reinstall-packages-from=24.13.1
Conclusão
Essa funcionalidade do NVM é uma daquelas pequenas coisas que economizam bastante tempo no dia a dia.
Principalmente se você trabalha com várias CLIs globais e costuma atualizar o Node com frequência.
Top comments (0)