Node.JS: Como gerenciar diferentes versões do Node.JS na sua máquina | Alura Cursos Online
Node.JS: Como gerenciar diferentes versões do Node.JS na sua máquina
6 min6 minutos de leitura
6 min6 minutos de leitura
Quem trabalha com projetos em JavaScript ou no ecossistema do provavelmente já se deparou com a necessidade de usar versões diferentes da mesma ferramenta.
Autor(a)
jonilson-silva
Inscreva-se em nossa Newsletter
Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.
Isso acontece, por exemplo, quando um projeto mais antigo depende de uma versão específica do Node.js, enquanto outro exige uma versão mais recente.
Foi justamente esse cenário que motivou a escrita deste artigo. Ao longo do texto, veremos como gerenciar diferentes versões do Node.js na mesma máquina de forma prática, usando poucos comandos no terminal para instalar, alternar e organizar o ambiente de desenvolvimento.
O problema das versões
Em determinado momento, precisei voltar para a versão 10 do Node.js, mais especificamente a 10.16.3, para fazer algumas atualizações em um projeto desenvolvido algum tempo atrás.
Ao mesmo tempo, eu já estava utilizando a versão 13.5.0 na minha máquina para testar recursos e explorar mudanças mais recentes do ecossistema.
O problema é que manter apenas uma instalação do Node.js tornava esse cenário pouco prático: para trabalhar no projeto antigo, eu teria que remover a versão atual e instalar a anterior; para continuar os testes com a versão mais nova, precisaria repetir o processo novamente.
Foi aí que surgiu a necessidade de uma forma mais simples de alternar entre versões diferentes do Node.js sem precisar reinstalar tudo a cada troca. E é justamente nesse ponto que entra o NVM.
O que é o NVM (Node Version Manager)?
O NVM (Node Version Manager) é uma ferramenta criada para gerenciar diferentes versões do Node.js em uma mesma máquina. Com ele, é possível instalar, listar, alternar e remover versões do Node.js de forma prática, sem precisar reinstalar manualmente a ferramenta sempre que mudar de projeto.
O funcionamento do NVM acontece por linha de comando, ou seja, ele é instalado por usuário e utilizado diretamente no terminal do sistema. A ferramenta é compatível com diferentes shells, como sh, bash, zsh, ksh e dash, e pode ser utilizada em sistemas Unix e macOS.
No caso do Windows, uma alternativa comum é utilizá-lo por meio do WSL (Windows Subsystem for Linux), que permite executar um ambiente Linux dentro do sistema operacional da Microsoft.
O que é o Windows WSL? Confira neste artigo o que é, como instalar e como utilizar esta ferramenta super útil para executar comandos Linux no ambiente Windows.
Na prática, o grande benefício do NVM é justamente permitir que várias versões do Node.js coexistam na mesma máquina, facilitando a troca entre ambientes de desenvolvimento conforme a necessidade de cada projeto.
Experimentando o NVM
Como vimos até aqui, o NVM é uma ferramenta simples de usar. Antes de começar a gerenciar versões do Node.js, porém, precisamos instalá-lo na máquina.
Uma forma comum de fazer isso é executar, no terminal, o script de instalação disponibilizado no repositório oficial do projeto. Como a versão do instalador pode mudar com o tempo, o ideal é sempre consultar a documentação do NVM para copiar o comando mais atualizado.
Após executar a instalação, o script tentará adicionar ao arquivo de configuração do seu shell um trecho semelhante a este:
Esse conteúdo costuma ser inserido em arquivos como ~/.bash_profile, ~/.zshrc, ~/.profile ou ~/.bashrc, dependendo do shell utilizado no sistema. Se esse trecho já estiver presente no arquivo correspondente, o NVM estará pronto para uso. Caso contrário, é possível adicioná-lo manualmente.
Também vale consultar a documentação oficial do projeto no GitHub, já que ela reúne outras formas de instalação e instruções específicas para diferentes ambientes.
Com a instalação concluída, já podemos começar a usar o NVM. Um dos primeiros comandos úteis é o nvm ls-remote, que lista as versões remotas do Node.js disponíveis para instalação:
Tudo pronto, e depois disso como podemos usar o NVM, é simples, como mencionei antes, podemos executar o comando `nvm ls-remote` para listar as versões do Node.JS:
versões listadas no node.js
E para fazer o download de uma versão específica, podemos usar o comando nvm install <versão> como na imagem abaixo:
download de uma versão específica no node.js
Mas já que podemos ter várias versões na nossa máquina, nada mais justo do que sermos capazes de listar essas versões, e para isso usamos o comando nvm ls:
comando nvm ls
Mas meu problema era que eu estava usando a versão 13.5.0 e queria usar a 10.16.3, que já fiz o download anteriormente, então podemos usar o comando use v10.16.3 para ativar essa versão:
comando de ativação da versão 10.16.3
NVM vs Docker: vale a pena usar NVM ou containers para gerenciar versões?
Quando o assunto é ambiente de desenvolvimento, é comum pensar no Docker como solução para praticamente tudo e faz sentido, já que ele ajuda bastante no isolamento de aplicações e dependências. Mas, no caso específico de alternar entre versões do Node.js na mesma máquina, o NVM costuma oferecer um caminho mais direto.
Com o Docker, seria necessário subir um contêiner ou manter imagens separadas para cada versão do Node.js que você deseja utilizar, o que adiciona uma camada extra de configuração e consumo de espaço em disco.
Já com o NVM, a troca entre versões acontece de forma muito mais simples no terminal, sem a necessidade de criar ou gerenciar contêineres para esse objetivo.
Na prática, isso significa que, para cenários em que a necessidade principal é instalar, listar e alternar entre versões do Node.js, o NVM tende a ser uma solução mais leve e objetiva.
Com comandos como nvm ls-remote, para listar versões disponíveis, e nvm use, para alternar entre elas, o processo fica bastante direto no dia a dia.
Conclusão
Ao longo deste artigo, vimos como o NVM pode facilitar o gerenciamento de diferentes versões do Node.js na mesma máquina, tornando mais simples a rotina de quem trabalha com projetos que dependem de ambientes distintos.
Em vez de reinstalar o Node.js a cada troca de projeto, o NVM permite instalar várias versões e alternar entre elas com poucos comandos, o que deixa o fluxo de trabalho mais prático e organizado.
Se você trabalha com projetos em Node.js ou está estudando esse ecossistema, vale a pena explorar a ferramenta e testar seus comandos no dia a dia.
E, se quiser continuar se aprofundando no assunto, a carreira Desenvolvimento Back-End Node.js da Alura pode ser um próximo passo interessante para seguir evoluindo com o ambiente já configurado.