Gerenciando versões Nodejs com NVM
Tags: node, nvm
Published: 2022-06-16 18:14:46

Este post no formato de tutorial prático tem como principal objetivo demonstrar a possibilidade de gerenciar várias versões do Nodejs em uma mesma máquina.

Imagine que você possui na sua máquina três projetos diferentes seja de estudo ou trabalho e que esses projetos necessitam do uso de três versões do Nodejs, o primeiro na versão 14 o segundo na versão 15 e o terceiro na versão 16. Ao tentar instalar várias versões do Nodejs, a mais recente irá substituir as demais, então o NVM(Node Version Manager) permite gerenciar e instalar versões diferentes em sua máquina.

O NVM foi feito para sistemas MAC OS e Linux, mas você poderá utilizar no Windows ao instalar o WSL (Windows Subsystem for Linux) ou programa similar chamado `nvm-windows`. Para ver instruções de instalação do `nvm-windows` para plataforma windows você poderá acessar a documentação da microsoft [clicando aqui](https://docs.microsoft.com/pt-br/windows/dev-environment/javascript/nodejs-on-windows#install-nvm-windows-nodejs-and-npm) ou repositório da ferramenta [clicando aqui](https://github.com/coreybutler/nvm-windows#nvm-for-windows).

---

**_Passos de Instalação usando Script (MAC e Linux):_**

Você poderá utilizar um script pronto usando o cURL ou Wget. Basta copiar o código abaixo e colar em seu Terminal.

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

```
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
```
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x12kdpqeyhcf170km1rz.png)
 
Esse script irá imprimir algumas informações no Terminal indicando o sucesso ou algum erro. Basicamente ele clona o repositório para a pasta `~/.nvm` e adiciona referências no arquivo de perfil do SO(`~/.bash_profile`, `~/.zshrc`, `~/.profile`, or `~/.bashrc`).

> Atenção: No momento da construção desse post o nvm está em sua versão 0.39.1, sugiro que verifique a versão mais através do repositório do projeto no Github. Para acessa-lo basta [clicar aqui](https://github.com/nvm-sh/nvm#installing-and-updating).

---

**_Alguns comandos interessantes:_**

> Verificar versão instalada do NVM

```
nvm --version
```

> Instalar versão mais recente

```
nvm install node
```

> Instalar versão especifica

```
nvm install v16.6.0
```

> Usar versão especifica

```
nvm use v17.6.0
```

> Listar versões instaladas

```
nvm ls
```

---


**_Conclusão_**

O que foi exposto nesse post foi resultado de uma pesquisa através da necessidade de gerenciar versões do Nodejs para projetos de estudos em uma mesma maquina. Sinta-se a vontade comentar caso tenha alguma dúvida, critica construtiva ou sugestão.

---

**_Referências_**

- Repositório do NVM no Github, [clique aqui](https://github.com/nvm-sh/nvm) para acessar.
- Artigo no site Treinaweb, [clique aqui](https://www.treinaweb.com.br/blog/instalando-e-gerenciando-varias-versoes-do-node-js-com-nvm) para acessar.
- Documentação sobre o WSL no site da Microsoft, [clique aqui](https://docs.microsoft.com/pt-br/windows/wsl/install) para acessar.
- Documentação da microsoft sobre o nvm-windows, [clique aqui](https://docs.microsoft.com/pt-br/windows/dev-environment/javascript/nodejs-on-windows#install-nvm-windows-nodejs-and-npm) para acessar.
- Documentação sobre o repositório nvm-windows, [clique aqui](https://github.com/coreybutler/nvm-windows#nvm-for-windows) para acessar.