Insights que transformam sua carreira!

Receba soluções práticas, dicas que economizam tempo e insights exclusivos de programação que realmente funcionam. Junte-se a mais de 5.000 assinantes!

Controle de versão do Node: Como usar o NVM?

Dê um salto na sua carreira de programação!

Receba soluções práticas, economize tempo com dicas eficazes e conquiste insights exclusivos para acelerar sua evolução na área de TI. Junte-se a mais de 5.000 desenvolvedores que já estão um passo à frente!

Quero me destacar agora!

Compartilhe:

Você já teve problemas ao atualizar o Node.js e algum projeto parar de funcionar? Geralmente naquela hora de rodar um npm install informa que você está utilizando uma versçao diferente do Node à do projeto.

É um um problema comum de compatibilidade do Node.js com as versões mais antigas de algumas ferramentas em algum projeto, como o Gulp e Babel. Geralmente os desenvolvedores instalam uma versão mais antiga do Node.js ao invés de arrumar a estrutura responsável pelo build da aplicação.

Mesmo que uma reinstalação dos pacotes fosse a solução, é desperdício de tempo ter que ficar reinstalando tudo em um projeto a cada vez que eu atualizo o Node, sendo que normalmente a alteração que eu tinha que fazer em um projeto antigo seria mudar só uma linha. É preciso, em projetos antigos, manter mais de uma versão do Node.js instalado na minha máquina para que possa rodar facilmente o projeto. Este artigo tem este objetivo com o NVM.

O que é o NVM?

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.

Agora vamos iniciar o tutorial, mostrando como instalar o NVM para MacOs, Linux e Windows e como utilizar:

Conta Exclusiva ChatGPT: Acesso Ilimitado

Desbloqueie o poder do ChatGPT com recursos premium. Aproveite 80,5% de desconto e garantia de 100% de satisfação. Junte-se hoje e viva a melhor experiência de chat com IA!

Cypress, do Zero à Nuvem: domine a automação de testes com confiabilidade e eficiência

Aprimore suas habilidades de automação de testes com Cypress, desde o início até a integração contínua.

Saiba Mais

💻 Torne-se um Desenvolvedor Fullstack!

Domine as tecnologias mais requisitadas do mercado e conquiste sua carreira dos sonhos como Desenvolvedor Fullstack. Inscreva-se hoje!

Inscreva-se

Instalação do NVM (MacOS e Linux)

É recomendado desinstalar qualquer versão do Node.js presente em sua máquina antes de instalar o NVM para evitar colisões.

Para instalar o NVM basta usar o curl ou Wget. Execute no terminal:

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

ou

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

Isso vai executar um script que vai clonar o repositório do NVM e jogar em um diretório chamado ~/.nvm/, que é onde serão instaladas as várias versões do Node.js que quisermos.

A versão do NVM no momento de escrita deste post era a v0.34.0. Para garantir uma versão mais recente, copie esse mesmo comando na página do repositório do NVM no GitHub.

Instalação no MacOS usando Homebrew

Caso queira instalar usando o Homebrew, basta executar o comando $ brew install nvm.

Depois precisamos criar um diretório para o NVM, lugar onde ele fará as instalações das várias versões do Node.js. Para isso basta executar o comando $ mkdir ~/.nvm/.

Por último é só configurar as variáveis de ambiente. Abra o arquivo .bash_profile com o comando vim ~/.bash_profile e cole o seguinte conteúdo

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

E então basta executar source ~/.bash_profile.

Instalação do nvm-windows (Windows)

Instalação do nvm-windows (Windows)

Como dito anteriormente, o NVM é só para MacOS e Linux. Você pode conseguir utilizá-lo no Windows usando o WSL (Windows Subsystem for Linux) ou pode usar um outro programa que é o nvm-windows.

A proposta do nvm-windows é funcionar igual ao NVM. Eles oferecem um instalador que você pode baixar pela lista de lançamentos do nvm-windows no repositório do GitHub.

Comandos do NVM (e do nvm-windows)

Caso você tenha acabado de instalar, pode ser necessário reiniciar o seu terminal ou sua máquina.

nvm-windows precisa que o terminal seja iniciado em modo administrador e alguns comandos do nvm ainda não são completamente suportados.

Os comandos são bem simples.

Listar versões instaladas

Para ver as versões que estão instaladas em sua máquina:

$ nvm ls

Listar versões disponíveis para instalação

Este comando lista todas as versões disponíveis para baixar e instalar na sua máquina. Esse número de versão será usado no comando para realizar a instalação.

$ nvm ls-remote

Instalar uma versão

Para instalar usamos o comando install seguido pelo número da versão que queremos (mostrada no comando anterior, ls-remote).

$ nvm install vX.X.X

Basta mudar os X pelos números da versão que quer baixar como v.0.11.5 ou v.12.4.0.

Para instalar a versão mais recente, utilize node no lugar do número da versão:

$ nvm install node

A primeira versão que você instalar será usada por padrão sempre que você abrir o terminal. A versão padrão pode ser alterada depois.

Desinstalar uma versão

O comando uninstall é usado para desinstalar uma versão presente em nossa máquina. É utilizado da mesma maneira que o install

$ nvm uninstall vX.X.X

Usar uma versão do Node.js

Sempre que você abrir o terminal, a versão do Node.js usada é sempre a definida como padrão. Para usar outra versão instalada, execute o comando use seguido pela versão que você quer.

$ nvm use vX.X.X

Para usar a versão mais recente, digite node no lugar da versão:

$ nvm use node

Lembrando que ao abrir um novo terminal, a versão usada será novamente a definida como padrão.

Definir nome para uma versão

Para não ter que ficar chamando uma versão pelo seu número, podemos definir um tipo de apelido para cada versão. Para isso usamos o comando alias e passamos o nome do apelido e a versão que queremos apelidar.

$ nvm alias meunome vX.X.X

Com isso você poderá chamar a versão vX.X.X por meunome, como em:

$ nvm use meunome

Remover um nome de versão

Se você não quiser mais aquele apelido que você deu para uma versão, basta executar o comando unalias seguido pelo apelido que você quer esquecer.

$ nvm unalias meunome

Definir uma versão padrão

Para definir a versão que será usada sempre que você abrir o terminal, use o comando alias passando default como nome e em seguida a versão que você quer que seja a principal.

$ nvm alias default vX.X.X

Para que a versão padrão seja a versão instalada mais recente, basta escrever node no lugar do número da versão:

$ nvm alias default node

Indicação da versão atual

Para saber qual a versão atual do Node.js o terminal está usando, basta executar o comando current.

$ nvm current

Migração de pacotes globais

Quando alteramos a versão do Node.js que está sendo utilizada, a versão do NPM muda junto. Isso significa que se você utiliza algum pacote do NPM globalmente em uma versão, não terá acesso a ele quando estiver usando outra versão.

Para não ter o trabalho de instalar cada pacote global a cada nova instalação do Node.js, basta adicionar --reinstall-packages-from.

Com esse comando podemos, por exemplo, instalar a versão 6 do Node.js e já mandar ele automaticamente instalar os pacotes globais do NPM que instalamos quando estávamos usando a versão 5.

nvm install 6 --reinstall-packages-from=5

Como aprendemos até aqui, node é um atalho para indicar a versão mais recente. Caso queira instalar a versão mais recente disponível e já migrar os pacotes globais da versão mais recente que está instalada na sua máquina, basta executar:

nvm install node --reinstall-packages-from=node

No momento esta funcionalidade ainda não está disponível para o nvm-windows, sendo necessária a instalação manual dos pacotes globais sempre que instalar uma nova versão do Node.js.

Definição de versão por projeto

A intenção de usar o NVM é poder ter uma versão do Node.js para cada projeto, mas é muito difícil conseguir lembrar qual a versão foi usada em cada um.

Para isso, basta criar na raiz do projeto um arquivo com o nome .nvmrc e colocar dentro dele o número da versão do Node.js que está sendo utilizada nesse projeto, como:

v12.4.0

Com isso, ao abrir o terminal dentro do projeto e executar o comando nvm use, o NVM vai automaticamente encontrar o arquivo .nvmrc e utilizar a versão indicada.

Conclusão

Eu não costumava ligar para ter várias versões do Node.js em uma mesma máquina, pois sempre conseguia fazer funcionar em versões novas. Mas com o tempo pode acontecer de você ter que mexer em um código antigo e vai desperdiçar tempo arrumando para fazer funcionar caso esteja com uma versão nova.

Não só para linguagens de programação como Ruby e Python, mas outras ferramentas para desenvolvimento também como Unity, prefira sempre usar um gerenciador de versões, pois vai te economizar tempo e trabalho.

LEIA TAMBÉM

Gostou deste conteúdo?

Assine o E-Zine Ramos da Informática e receba semanalmente conteúdos exclusivos focados em desenvolvimento frontend, backend e bancos de dados para turbinar sua carreira tech.

📘 Conteúdo Exclusivo

Dicas, insights e guias práticos para alavancar suas habilidades em desenvolvimento e bancos de dados.

🚀 Hacks de Carreira

Ferramentas, atalhos e estratégias para se destacar e crescer rapidamente no mercado de tecnologia.

🌟 Tendências Tech

As novidades mais relevantes sobre desenvolvimento web, mobile e bancos de dados para você se manter atualizado.

Já somos mais de 5.000 assinantes! Junte-se a uma comunidade de profissionais que compartilham conhecimento e crescem juntos no universo tech.

Quero Assinar Agora

Compartilhe:

Ramos da Informática
Ramos da Informáticahttps://ramosdainformatica.com.br
Ramos da Informática é um hub de comunidade sobre linguagens de programação, banco de dados, DevOps, Internet das Coisas, tecnologia da indústria 4.0, Cyber Segurança e Startups.

RECENTES

ArcGIS Maps JavaScript: Novidades da Versão 4.32

O ArcGIS, desenvolvido pela Esri, é uma plataforma líder...

O Novo Ramos da Informática: Menos Ruído, Mais Valor

O jogo mudou. A maneira de buscar conhecimento e...

Mais de 1 milhão de vagas em cursos e oportunidades de emprego

A Ramos da Informática trouxe um compilado de diversas...

Hackathon com premiação de US$150 mil no estádio do PSG

A Chiliz, empresa de tecnologia blockchain para esportes e entretenimento,...

Destaques do Git 2.48

O projeto Git de código aberto acaba de lançar...
Sua assinatura não pôde ser validada.
Você fez sua assinatura com sucesso.

E-Zine Ramos da Informática

Conteúdo focado em desenvolvimeto backend, frontend, banco de dados e novas tecnologias. 


📧 Não perca tempo! Assine grátis agora mesmo e leve sua carreira ao próximo nível.

Dê um salto na sua carreira de programação!

Receba soluções práticas, economize tempo com dicas eficazes e conquiste insights exclusivos para acelerar sua evolução na área de TI. Junte-se a mais de 5.000 desenvolvedores que já estão um passo à frente!