Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
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.
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
TerminalUtilizando o “wget” o comando fica assim:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
TerminalAguarde 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
.bashrcImportante
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
ShellScriptEm 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 .
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
TerminalComo resultado temos a versão atual de instalação do nosso gerenciador.
Com a instalação concluída podemos gerenciar a versão do Node que está instalada e disponível para uso.
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
TerminalCaso 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
ShellScriptCaso você não queira instalar uma versão especifica e simplesmente instalar a versão LTS pode executar o comando:
nvm install --lts
TerminalApós a conclusão da instalação de um versão é possível conferir através do comando:
node -v
TerminalImportante 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
TerminalComo 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
TerminalCom 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
TerminalComo 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
TerminalUma 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”.
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
Terminalou podemos utilizar o comando passando a variável de ambiente:
rm -rf $NVM_DIR
TerminalApó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
.bashrcComo 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.