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 source ~/.nomeDoArquivoQueVocêUsou
e em seguida 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
.
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!
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.
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