Gerenciando múltiplas versões do Node.js com NVM
Gerenciar diferentes versões das nossas ferramentas principais de trabalho é, em muitos casos, essencial. Assim como a linguagem Ruby possui o RVM (Ruby Version Manager) para gerenciar múltiplas versões do Ruby em uma mesma máquina, o Node.js também possui um gerenciador, que é conhecido como NVM(Node Version Manager).
É comum para um desenvolvedor fazer parte de diversos projetos ou iniciar um novo trabalho que necessita do Node.js. Para quem o utiliza, muitas vezes é necessário trabalhar com diferentes versões, seja pela desatualização da versão utilizada ou por algumas restrições em alguns módulos utilizados no projeto.
Alguns desses módulos que são utilizados durante o processo de desenvolvimento podem ter restrições a alguma versão específica do Node, tornando essencial o gerenciamento de versões.
A ideia deste artigo é auxiliar você, desenvolvedor, a lidar com situações ditas anteriormente, auxiliando na instalação e na troca de versões de Node em diferentes ambientes utilizando NVM.
Afinal, o que é o Node.js
O Node.js nada mais é do que um ambiente que executa o JavaScript do lado do servidor (server-side). Uma das grandes vantagens de seu uso para criar aplicações JavaScript é justamente não depender de um browser para sua execução, como em aplicações que rodam do lado do cliente.
Como se não bastasse para justificar sua popularidade, o Node.js ainda utiliza o conceito de Single Threaded Event Loop Model para lidar com requisições concorrentes de forma facilitada, poupando recursos computacionais como memória.
Grandes empresas como Linkedin, Netflix, Uber, PayPal e a Printi já fazem uso do Node.js em suas aplicações.
O que é o NVM?
O NVM é a solução perfeita para você que precisa testar o comportamento de seus projetos em distintas versões do Node.js. Ele também serve para a galera que curte testar versões unstables também.
O grande benefício do NVM é que ele é prático, fácil de usar e desinstala uma versão do Node em um único comando, lhe poupando um bom tempo na hora de instalar o Node.js. Além de ser uma boa alternativa, principalmente em sistemas Linux cujos package manager nativos estão desatualizados e não viabilizam facilmente a instalação de uma versão recente do Node.
Configurando o NVM no Linux
A configuração e instalação do NVM é bem simples, e, para realizar esse processo, basta rodar este comando em seu terminal.
Utilizando cURL:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Utilizando Wget:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Os comandos acima executam um script que clona o repositório do NVM no caminho ~/.nvm e adiciona o trecho de código abaixo aos arquivos de inicialização do shell (~/.bash_profile, ~/.zshrc, ~/.profile ou ~/.bashrc).
export NVM_DIR=”$([ -z “${XDG_CONFIG_HOME-}” ] && printf %s “${HOME}/.nvm” || printf %s “${XDG_CONFIG_HOME}/nvm”)”[ -s “$NVM_DIR/nvm.sh” ] && \. “$NVM_DIR/nvm.sh” # This loads nvm
Caso queira conferir o repositório do NVM no GitHub, ele fornece um passo-a-passo detalhado para sua instalação cobrindo possíveis casos de erro.
Os principais comandos do NVM
Como um manual, a seguir apresento uma pequena lista com os principais comandos do NVM que serão essenciais para você gerenciar múltiplas versões do Node.js, ou pelo menos manter seu ambiente atualizado com a última versão:
nvm ls: lista todas as versões instaladas em sua máquina;
nvm ls-remote: lista todas as versões disponíveis para download do site http://nodejs.org/dist
nvm install vx.x.x: baixa e instala uma versão Node.js
nvm use vx.x.x: escolhe uma versão do Node.js existente para ser usada;
nvm alias default vx.x.x: escolhe uma versão existente para ser carregada por padrão no inicio do sistema operacional
nvm help: lista todos os comandos do NVM.
Para habilitar o auto-completion do nvm, edite em modo super-user (sudo ou su) o .bashrc ou .bash_profile, incluindo no final do arquivo:
bash source”~/.nvm/bash_completion”
Nos comandos que foram citados vx.x.x, você deve trocar o v.x.x.x por uma versão Node.js de sua escolha.
Instalando Node.js via NVM
Para instalar o Node.js via NVM, basta rodar os seguintes comandos:
nvm install v16.9.0 — Versão escolhida pelo usuário
nvm use v16.9.0 — Escolhe essa versão para utilizar
nvm alias default v16.9.0 — Escolhe a versão existente para ser carregada por padrão
Conclusão
Não se esqueça de reiniciar sua máquina e pronto! Você aprendeu um novo jeito sobre como gerenciar múltiplas versões do Node.js.
Espero que essas dicas tenham sido úteis para você e para visualizar todos os comandos, basta digitar: nvm[tab][tab].
Agradecimentos
Agradeço aos meus colegas de trabalho que auxiliaram com dicas para o texto, e em especial a minha colega Roberta Quiles, quem teve papel fundamental para o desenvolvimento e escrita do texto.
Referência
Construindo APIs REST com Node.js: Caio Ribeiro Pereira
Instalando e gerenciando várias versões do Node.js com NVM
Ambiente para desenvolvimento Node.js com NVM no Ubuntu 18.04