NVM no Linux: Guia Completo de Instalação para Gerenciamento Eficiente de Versões do Node.js

O NVM (Node Version Manager), como o próprio nome já diz é um gerenciador de versões do Node.js.

Essa ferramenta é muito útil para quem precisa transitar entre diferentes versões, pois ela possibilita trocar a versão sem realizar a completa desinstalação da versão anterior, possibilitando retornar para a mesma.

Nesse tutorial vamos ensinar passo a passo como instalar essa ferramenta.

Instalação

A instalação é relativamente simples, no Linux precisamos apenas executar alguns comandos no terminal, mas para isso precisamos de um cliente de linha de comando para fazer download do pacote, no Linux o mais comum é utilizar o “curl” ou o “wget”.

Utilizando o “curl” o comando fica assim:

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

Utilizando o “wget” o comando fica assim:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
Terminal

Aguarde o fim da instalação que será feita automaticamente após a conclusão do download do pacote, após a instalação concluída será adicionado a pasta “.nvm” na pasta do usuário que fez a instalação.

Para que o sistema comece a reconhecer o gerenciador de pacotes precisamos mapear a pasta, nas variáveis de ambiente do sistema operacional, para isso basta apenas adicionar as linhas abaixo no arquivo .bashrc de variáveis de ambiente:

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
.bashrc

Importante
Dependendo dos sistema Linux que você está utilizando, ou se faz alguma alteração no terminal padrão do seu sistema operacional esse arquivo pode mudar o mais comum é que seja uma dessas opões: .bash_profile, .profile, .bashrc ou .zshrc.
Geralmente esses arquivos estão localizados na pasta do usuário que está utilizando o sistema, então é possível acessá-los utilizar o alias ~, segue um exemplo:

gedit ~/.bashrc
ShellScript

Em caso de uso do Zsh o arquivo é o .zshrc, caso você ainda não utiliza o zsh e quer testar todo o poder desse terminal temos um passo a passo de como instalar e configurar o Zsh junto com o Oh My Zsh .

Testando a instalação

Após a instalação e configuração da variável de ambiente podemos testar se o nosso terminal está reconhecendo o comando nvm, para isso é interessante que você abra uma outra instancia do terminal para que ele possa ler o arquivo de variáveis de ambiente que foi modificado.

Em seguida tente executar o comando:

nvm -v
Terminal

Como resultado temos a versão atual de instalação do nosso gerenciador.

Gerenciando as versões instaladas

Com a instalação concluída podemos gerenciar a versão do Node que está instalada e disponível para uso.

Instalação do Node.js

A instalação de uma versão é bem simples basta usar o comando install com a versão, segue um exemplo:

nvm install V20.9.0
Terminal

Caso você esteja com dúvidas em quais versões estão disponíveis para instalação é possível fazer uma consulta através do comando ls-remote:

nvm ls-remote
ShellScript

Caso você não queira instalar uma versão especifica e simplesmente instalar a versão LTS pode executar o comando:

nvm install --lts
Terminal

Após a conclusão da instalação de um versão é possível conferir através do comando:

node -v
Terminal

Importante mencionar que toda vez que uma instalação é executada uma versão compatível do NPM é instalada juntamente com a versão solicitada.

Para verificar a versão do NPM instalada é simples basta utilizar o comando:

npm -v
Terminal

Alternando entre versões do Node.js

Como dito antes, a grande vantagem de utilizar o Node Version Manager é a possibilidade de poder gerenciar múltiplas versões instaladas assim como poder alternar entre elas com um simples comando de terminal.

Após ter alguma versão instalada é possível mudar para ela utilizando o comando use, segue o exemplo:

nvm use V18.12.1
Terminal

É possível definir uma versão padrão que será executada sempre que o sistema for iniciado, para isso precisamos definir o alias default para a versão, essa definição é bem simples bastando utilizar um comando do terminal, exemplo:

nvm alias default V20.0.9
Terminal

Desinstalar versão do Node

Com o Node Version Manager a desinstalação de uma versão é tão simples quanto a instalação, bastando executar o comando uninstall passando a versão que deseja desinstalar, segue o exemplo:

nvm uninstall V16.18.0
Terminal

Como instalar o Yarn

Como o NPM é o gerenciador de pacotes padrão do Node.js sua instalação acontece junto com a instalação de uma nova versão, como foi mencionado antes, mas o mesmo não acontece com o Yarn, que preferir utilizar esse gerenciador de pacotes do seu projeto deve fazer a sua instalação a cada nova versão do Node.js que for instalada, pois cada instalação é um ambiente isolado.

A instalação do Yarn é bem simples bastando executar um comando no terminal e para isso vamos usar o gerenciador de pacotes padrão NPM, segue abaixo o comando de instalação:

npm install -g yarn
Terminal

Especificando versão do Node.js por projeto

Uma grande vantagem do Node Version Manager é poder utilizar uma versão específica do Node.js para cada projeto em execução, essa é uma configuração bem simples de se fazer e permite ao usuário executar inúmeros projetos com versões diferentes.

Para esse tipo de abordagem precisamos definir um arquivo “.nvmrc” na raiz do nosso projeto, nele podemos colocar a versão que será utilizada por aquele projeto específico, exemplo:

20.9.0

Ao executar o comando “nvm use” no diretório do projeto, o gerenciador reconhecerá o arquivo “.nvmrc” e configurará automaticamente a versão do Node.js para a versão definida no arquivo, no nosso exemplo seria para a versão “20.9.0”.

Desinstalação do NVM

Para desinstalar o Node Version Manager, precisamos remover a pasta .nvm, no Linux ela fica localizada na pasta do usuário e para fazer sua remoção podemos utilizar o comando com o alias ~, segue o exemplo:

rm -rf ~/.nvm
Terminal

ou podemos utilizar o comando passando a variável de ambiente:

rm -rf $NVM_DIR
Terminal

Após remover a pasta é interessante que remova o mapeamento da variável de ambiente que guarda o caminho da instalação, para isso basta remover o comando de dentro do arquivo de configuração de variáveis de ambiente.

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
.bashrc

Conclusão

Como demonstrado ao longo do processo de instalação e gerenciamento de versões, há inúmeras vantagens em utilizar o Node Version Manager, ao invés de fazer a instalação do Node.js direto no sistema operacional.

Além de poder ter múltiplas versões instaladas o mesmo tempo, ele ainda promove diversas outras vantagens como: gestão simplificada de versões, facilidade na atualização, ambientes de desenvolvimento isolado, compatibilidade com diferentes projetos, migração simplificada de versão, fácil desinstalação, entre outras.

Mauricio Lima
Mauricio Lima

Bacharel em Ciência da Computação, profissional dedicado ao desenvolvimento de software e entusiasta da tecnologia.

Artigos: 65