Antes de tudo, você sabe para que serve o NVM? O NVM – Node Version Manager (gerenciador de versão do Node), permite que você instale e gerencie diferentes versões do Node.js em sua máquina de forma simples, bem como, proporciona a troca de uma versão para outra com um simples comando no terminal e isso te abre um leque de possibilidades.

Por exemplo, se você tem o Node 16.14.0 instalado na sua máquina e precisa fazer manutenção em um projeto antigo que usa a versão 8.17.0 do Node.js, isso será um problema, não é mesmo? Mas não com o NVM!

Instalação do NVM

Primeiramente, uma coisa que devemos levar em consideração é que faremos a instalação do NVM no Linux. No entanto, vou deixar o link para instalação no Windows ao final deste artigo.

Para seguir com a instalação, é necessário ter o curl instalado. Para instalá-lo, basta rodar o seguinte comando no terminal:

Ubuntu ou derivados

sudo apt install curl

Arch/Manjaro ou derivados

sudo pacman -S curl

Logo depois de concluir a instalação do curl, podemos partir para instalação do NVM. Insira em seu terminal o seguinte comando:

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

Finalmente, temos o NVM instalado. No entanto, ele ainda não está pronto para uso, pois precisamos adicioná-lo em nosso path. Não se preocupe se você não sabe o que é isso, ok? Basta você seguir os passos abaixo:

Adicionando o NVM no path do sistema

Para adicioná-lo no path do nosso sistema, precisamos editar um desses três arquivos ( ~/.zshrc, ~/.profile, or ~/.bashrc). Escolha um de sua preferência e adicione ao final do arquivo o seguinte trecho de código:

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

Atenção:

Se você estiver usando o zsh como terminal padrão, você não deverá usar o arquivo .bashrc.

Depois de adicionar o trecho acima em um dos arquivos citados e salvá-lo, é hora de testar, e para isso, digite em seu terminal nvm --help. Aqui será retornada uma lista com todos os comandos que o NVM disponibiliza.

Utilização

Veremos aqui os comandos básicos do NVM, mas eu deixarei os links para a documentação completa ao final deste artigo, ok?

Listando as versões remotas do Node.js

As versões remotas são todas as versões disponíveis para instalação, desde sua criação até os dias atuais. Para listar essas versões basta inserir no terminal o comando nvm ls-remote.

Versões do node.js

Instalando um versão do Node.js

Logo após a versão desejada ser escolhida, podemos inserir o comando de instalação nvm install v16.14.0. Repare que, no meu caso, eu estou instalando a última versão do Node.js (LTS); caso prefira, você poderia instalar a versão v14.19.0.

Agora, todas as vezes que eu digitar node --version será retornado a versão que eu acabei de instalar na minha máquina.

OBS: Eu também tenho a versão v17.7.0 do Node instalado na minha máquina e eu vou mostrar para você como fazer a troca do Node.js!

Versão do node

Escolhendo a versão do Node.js

Eventualmente, nós vamos precisar trocar de versão, e o comando para isso é bem simples.

Primeiro, vamos verificar, com o comando nvm ls, quais versões do Node temos. Dessa forma, você verá todas as versões que estão instaladas na sua máquina.

Versẽos do node.js

A versão que está sendo apontada pela setinha verde é a padrão. Para você trocar para a versão 17, basta rodar o comando nvm use v17.7.0 e, a partir daí, você estará usando a versão 17 do Node.js.

Definindo uma versão como padrão

Se você quiser que um determinada versão seja usada por padrão, o comando para isso é o seguinte: nvm alias default v17.7.0. A partir de agora, toda vez que eu for usar o Node.js, a versão que será utilizada é a 17.

Conclusão

Neste artigo, nós vimos para que serve e como usar o NVM, além do seu processo de instalação no ambiente Linux. Deixo aqui alguns links para instalação no Windows e para a documentação do NVM.

Me despeço por aqui… Um abraço, e até a próxima! 🙂

Confira também:

Montando um Ambiente de Estudo JavaScript com Visual Studio Code e NodeJS