Sobre o projeto
# Gerenciador de Versões do Node (nvm)
Um gerenciador de versões para o [Node.js](https://nodejs.org/en/) projetado para ser instalado por usuário e executado por shell. O `nvm` funciona em qualquer shell compatível com POSIX (sh, dash, ksh, zsh, bash) em sistemas Unix, macOS e Windows WSL.
## O Que Ele Faz
O nvm permite que você instale e alterne rapidamente entre diferentes versões do Node.js via linha de comando. Ele baixa binários pré-compilados quando disponíveis, ou compila a partir do código fonte se não houver binário para sua plataforma.
## Instalação
O método recomendado é executar o script de instalação:
```sh
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.7/install.sh | bash
```
Alternativamente, clone o repositório para `~/.nvm` e carregue o `nvm.sh` a partir do perfil do seu shell.
## Comandos Principais
- `nvm install <versão>` — Baixe e instale uma versão específica do Node.js (ex: `nvm install 22`, `nvm install node` para a versão mais recente)
- `nvm use <versão>` — Altere a versão ativa do Node.js no shell atual
- `nvm ls` / `nvm ls-remote` — Liste versões instaladas / disponíveis
- `nvm alias default <versão>` — Defina uma versão padrão para novos shells
- `nvm exec <versão> <comando>` — Execute um comando com uma versão específica do Node.js sem alternar a versão ativa
- `nvm which <versão>` — Obtenha o caminho para o executável do Node instalado
- `nvm reinstall-packages --reinstall-packages-from=<origem>` — Migre pacotes globais do npm entre versões
## Suporte a LTS
O nvm reconhece as linhas de suporte de longo prazo do Node.js:
- `lts/*` — versão LTS mais recente
- `lts/argon`, `lts/hydrogen`, etc. — codinome LTS específico
Uso: `nvm install lts/*` ou `nvm use 'lts/argon'`
## Integração com .nvmrc
Arquivos `.nvmrc` na raiz do projeto declaram a versão desejada do Node.js. O nvm pode ativá-la automaticamente por meio de hooks de integração com shell no bash, zsh ou wrappers compatíveis com fish.
## Uso no Docker
O nvm pode ser instalado em contêineres Docker ao carregar o `nvm.sh` por meio da variável `BASH_ENV`, permitindo uso tanto interativo quanto não interativo (ex: pipelines de CI/CD).
## Limitações
- Não é oficialmente compatível com o shell Fish (existem alternativas da comunidade)
- O FreeBSD não possui binários pré-compilados oficiais; a compilação pode exigir patches
- A instalação via Homebrew não é suportada; os usuários devem desinstalar a versão atual e seguir as instruções oficiais
- Em Macs com Apple Silicon, use o Node v16.0.0 ou superior para suporte nativo a binários arm64
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.