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

Maick Henrique
Printi Tech
Published in
5 min readSep 23, 2022
Como gerenciar múltiplas versões de node usando NVM (Node Version Manager)  em macOS. | by Vinicius Santana | Medium

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

NVM — Instalação e utilização

Ambiente para desenvolvimento Node.js com NVM no Ubuntu 18.04

--

--