Gerenciador de versões do Node.js para Windows que instala e alterna entre várias versões do Node.js por projeto ou globalmente.
nvm-sh/nvm
Script Bash compatível com POSIX para instalar e alternar entre várias versões do Node.js por usuário e por shell.
- Estrelas
- 95,597
- Forks
- 10,577
- Issues abertas
- 387
- Último commit
- há 11 dias
O que é?
nvm é um gerenciador de versões de linha de comando para Node.js. Ele instala versões do Node.js em um diretório por usuário, permite alternar a versão ativa com um único comando e mantém conjuntos separados de pacotes npm instalados globalmente para cada versão. Como é carregado como uma função do shell, funciona em sh, bash, zsh, dash e ksh, em vez de ser um binário independente.
Além de instalar e alternar versões, o nvm oferece aliases para versões LTS, como lts/*, um arquivo .nvmrc para fixar a versão do Node de um projeto e comandos para executar um único comando em uma versão específica sem alterar a versão ativa. Também oferece suporte a instalações offline usando downloads em cache, espelhos de download personalizados e migração de pacotes globais ao instalar uma nova versão.
O projeto é voltado para Linux, macOS e Windows por meio do WSL, e funciona com Git Bash ou Cygwin. Fish não é compatível; o README lista alternativas de terceiros para esse shell.
Recursos principais
- 01Instalar, alternar e desinstalar várias versões do Node.js por usuário
- 02Referenciar versões LTS com aliases como lts/* em comandos e no .nvmrc
- 03Fixar a versão do Node de um projeto com um arquivo .nvmrc
- 04Executar um comando em uma versão específica do Node sem alterar a versão ativa
- 05Migrar pacotes npm globais durante a instalação ou entre versões instaladas
- 06Usar um espelho personalizado para baixar binários do Node
Casos de uso
- Trabalhar em vários projetos que exigem versões diferentes do Node.js
- Fixar a versão do Node da equipe com um arquivo .nvmrc no repositório
- Configurar o Node.js em contêineres Docker ou tarefas de CI sem instalá-lo em todo o sistema
- Instalar o Node.js em uma máquina sem acesso à rede usando downloads em cache
Início rápido
- 1
Execute o script de instalação com curl (revise-o antes ou use o comando oficial de instalação do README)
- 2
Carregue o nvm no perfil do shell e, em seguida, instale uma versão do Node.js
nvm install 24 - 3
Alterne para uma versão instalada do Node.js
nvm use 22
Antes de usar
- Não há suporte para Windows nativo; use WSL, Git Bash ou Cygwin.
- Fish shell não é compatível.
Tópicos
Perguntas frequentes
- O que é nvm?
- Script Bash compatível com POSIX para instalar e alternar entre várias versões do Node.js por usuário e por shell. nvm é um gerenciador de versões de linha de comando para Node.js. Ele instala versões do Node.js em um diretório por usuário, permite alternar a versão ativa com um único comando e mantém conjuntos separados de pacotes npm instalados globalmente para cada versão. Como é carregado como uma função do shell, funciona em sh, bash, zsh, dash e ksh, em vez de ser um binário independente.
- nvm é gratuito? Qual é a licença?
- nvm é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- nvm ainda é mantido?
- Manutenção ativa. O último commit de nvm foi em 10 de out. de 2026.
- Para que posso usar nvm?
- Trabalhar em vários projetos que exigem versões diferentes do Node.js Fixar a versão do Node da equipe com um arquivo .nvmrc no repositório Configurar o Node.js em contêineres Docker ou tarefas de CI sem instalá-lo em todo o sistema Instalar o Node.js em uma máquina sem acesso à rede usando downloads em cache
- Como instalar nvm?
- Execute o script de instalação com curl (revise-o antes ou use o comando oficial de instalação do README) Carregue o nvm no perfil do shell e, em seguida, instale uma versão do Node.js: nvm install 24 Alterne para uma versão instalada do Node.js: nvm use 22
- Onde consigo nvm?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/nvm-sh/nvm
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Ferramenta baseada em JavaScript para escrever scripts no estilo shell, com uma camada sobre child_process que escapa argumentos com segurança e oferece recursos multiplataforma.
Framework comunitário para gerenciar a configuração do zsh, com centenas de plugins e temas, além de uma ferramenta de atualização.
Um fuzzy finder de linha de comando versátil que filtra qualquer lista de entrada e transforma scripts de shell em seletores interativos no terminal.
Warp é um ambiente de desenvolvimento agentivo baseado no terminal, com um agente de programação integrado ou suporte aos seus próprios agentes de CLI.
Um prompt minimalista e personalizável para vários shells, escrito em Rust, que exibe informações relevantes do projeto e do ambiente.