NVM - Gerencie múltiplas instalações do Node.js

Fábio J L Ferreira
4 min readAug 28, 2019

--

Imagine a seguinte situação: você tem o Node.js instalado na sua máquina, versão 9.1, porém, deseja iniciar um projeto que necessita da versão 16.13.0, o problema é que você ainda está suportando o projeto que depende da versão mais antiga. O que você faz? Desinstala a versão atual e instala a nova, tendo que repetir este processo sempre que alternar entre projetos que dependem de versões diferentes do Node? Nossa, cansativo em! Tenho a solução para seus problemas, me acompanhe ao longo deste post, irei te apresentar o NVM.

O que é o NVM?

É um gerenciador de “instâncias” Node.js, ou seja, uma ferramenta que nos permite possuir múltiplas instalações do Node.js em nossa máquina. Parece uma ferramenta simples e sem muita utilidade, mas não se deixe engana, uma vez com NVM nunca mais sem ele!

Instalando no Linux e MacOS

O processo de instalação é bem simples, ele está vastamente documentado em: https://github.com/nvm-sh/nvm#installation-and-update

Abaixo estou transcrevendo de forma resumida os passos a serem seguidos. Recomendo que acesse o link indicado acima e considere as instruções curl ou wget contidas neste, uma vez que podem apontar para uma versão mais recente do software no momento em que você está lendo este post.

Para instalar, execute a instrução abaixo:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | $SHELL

Ou via wget:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | $SHELL

A instrução acima irá descarregar um repositório no endereço ~/.nvm e fazer referência ao mesmo em um dos arquivos de profile do usuário corrente (~/.bash_profile, ~/.zshrc, ~/.profile, ~/.bashrc, etc.). Nas instruções acima considerei utilizar a variável de ambiente $SHELL uma vez que não posso prever qual shell você está utilizando, ou seja, essa variável irá apontar para o shell corrente.

Como saída da instrução executada teremos algo mais ou menos como:

Em resumo, a imagem 01 mostra que o código abaixo foi adicionado ao arquivo de profile, em meu caso ele informa que este arquivo está em /User/fabio/.zshrc que equivale a ~/.zshrc: Conforme pode ser visto ao final da imagem, o código adicionado ao arquivo de profile é basicamente este:

export NVM_DIR=”$HOME/.nvm”
[ -s “$NVM_DIR/nvm.sh” ] && . “$NVM_DIR/nvm.sh” # This loads nvm
[ -s “$NVM_DIR/bash_completion” ] && . “$NVM_DIR/bash_completion” # This loads nvm bash_completion

Caso queira conferir se de fato o código acima foi adicionado ao arquivo de profile, basta executar:

cat ~/.zshrc

Para utilizar o NVM basta fechar e abrir o terminal novamente, ou simplesmente recarregar o arquivo de profile:

source ~/.zshrc

Pronto, agora é só curtir a ferramenta. Para verificar se está funcionando, execute:

nvm --version

A instrução acima irá exibir no terminal a versão da ferramenta atualmente instalada.

Instalando no Windows

1 - Acesse: https://github.com/coreybutler/nvm-windows/releases

2 - Você terá acesso a todas as versões do software, procure pela tag latest, provavelmente será uma das versões contidas no top da lista. Pessoalmente recomendo que baixe o pacote nvm-setup.zip, porém, você é livre para utilizar qualquer uma das opções disponíveis:

3 - Caso tenha executado o passo 2 conforme minha orientação, extraia o arquivo e rode o executável, como este é um software que não requer configurações, basta avançar até o fim da instalação;

4 - Reinicie a máquina para garantir que as variáveis de ambiente sejam recarregadas. Em alguns casos não é necessário reiniciar a máquina, basta abrir um novo prompt de comando e executar a instrução nvm para verificar se o comando é reconhecido pelo sistema, caso seja então o reboot é desnecessário.

Utilizando o NVM

As instruções abaixo são genéricas para sistemas Windows, Linux e MacOS. Caso seu sistema operacional seja Windows, ao ler a palavra terminal, considere como sendo o prompt de comando (CMD).

1 - Abra o terminal e execute:

nvm install 16.13.0

O número em questão é a versão que desejamos baixar do Node.js, ou seja, poderia ser qualquer versão já publicada. Todas as versões disponíveis podem ser encontradas em: https://nodejs.org.

Gosto muito de utilizar as versões LTS devido a sua estabilidade e suporte prolongado. Para instalar a versão LTS mais recente, basta execute:

nvm install --lts

2 - Agora que já instalamos a versão desejada, precisamos informar ao nvm que iremos trabalhar com ela, ou seja, utilizar-la. Execute:

nvm use 16.13.0

Agora o Node.js já pode ser utilizado normalmente.

3 - Como instalei somente a versão 16.13.0, informei ela. Para listar todas as versões já baixadas, execute:

nvm ls

4 - Para remover da sua máquina uma versão que foi instalada mas não está em uso no momento, execute:

nvm uninstall 16.13.0

Para ter acesso a lista de comandos, basta digitar nvm e pressionar ENTER.

Conclusão

A versão do NVM para Linux e MacOS possuem inúmeros recursos que ainda não são suportados pela ferramenta para Windows, porém, mesmo assim está continua sendo uma ferramenta indispensável, seja qual for seu sistema operacional!

--

--

Fábio J L Ferreira

Arquiteto de software, palestrante e um profundo admirador a filosofia do software livre...