Gerenciando múltiplas versões do Node.js com NVM

Gerenciando múltiplas versões do Node.js com NVM

Quando inicio um novo projeto que utiliza Node.js, a única certeza que tenho é que em breve a versão adotada estará desatualizada – e tudo bem! – pois isso é um sinal positivo de que a tecnologia segue sendo suportada pela comunidade e está em constante evolução.

Entretanto, alguns dos módulos utilizados durante o processo de desenvolvimento podem ter restrição a uma versão específica do Node.js, o que significa que eu posso ter novos projetos com a versão LTS (latest), mas projetos legados exijam uma versão específica que suporte os módulos utilizados naquele projeto.

Múltiplas versões de Node.js em um mesmo ambiente, mais uma situação para gerenciar… e agora?

Pois bem... e se eu te contar que existe uma maneira de gerenciar o chaveamento de versões do Node.js de maneira simples? Aqui entra em cena o Node Version Manager, mais conhecido como NVM.

O que é o NVM?

Node Version Manager, ou simplesmente NVM, é um gerenciador de versões do Node.js que permite a manutenção de múltiplas versões em um mesmo ambiente de desenvolvimento. Pense no NVM como um gerenciador de pacotes, e estes pacotes são especificamente versões de Node.js.

Por que usar NVM?

Short answer: para facilitar a instalação e o gerenciamento de múltiplas versões ativas do Node.js; com poucos comandos é possível obter, instalar e alternar entre as versões.

Hands-on: Instalando o NVM

A documentação completa do processo de instalação pode ser encontrada em https://github.com/nvm-sh/nvm#installing-and-updating, mas apresentarei um overview do processo para Linux/MacOS.

Instalando o NVM no Linux/MacOS:


No terminal, escolha uma das alternativas:

CURL:
curl -o-https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh| bash
wget:
wget -qO-https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh  | bash

Nota: No momento da publicação deste artigo, a versão mais recente (e estável) do NVM era a vo.39.1; como a internet é atemporal, vale sempre checar a última versão em: https://github.com/nvm-sh/nvm/releases

Em ambos os casos, o download do script será executado e o conteúdo será extraído para o diretório ~/.nvm/ o qual irá armazenar as versões de Node.js que serão gerenciadas pelo NVM.

Isso feito, o NVM estará instalado, e para começar a utilizá-lo, basta fechar e reabrir o terminal, ou recarregar o arquivo de profile referente ao terminal que você utiliza:

bash:
source ~/.bashrc
ZSH:
source ~/.zshrc

Chegando até aqui, ao executar nvm –version no terminal, se tudo correu bem, a versão instalada deve ser exibida.

Utilizando o NVM

Para listar as versões do Node.js disponíveis no NVM:

nvm ls-remote

Para instalar uma versão específica do Node.js:

nvm install <VERSAO_NODE_JS>

Para instalar a versão mais recente e estável do Node.js:

nvm install node

Para alternar entre versões do Node.js:

nvm use <VERSAO_NODE_JS>

Para definir a versão padrão de utilização do Node.js:

nvm alias default <VERSAO_NODE_JS>

Para remover a versão do Node.js:

nvm uninstall <VERSAO_NODE_JS>

Espero que estas dicas tenham sido úteis para você! Se quiser tirar dúvidas ou mandar sugestões, fico à disposição!

Fonte: nvm-sh