Preencha este formulário para dar sua opinião e inscrever-se para receber atualizações de progresso.
As atualizações também serão publicadas na página do LinkedIn do Author Software.
O gerenciador de versão Node.js recomendado pela Microsoft/npm/Google para Windows .
O nvm original é um projeto completamente separado apenas para Mac/Linux. Este projeto usa uma filosofia totalmente diferente e não é apenas um clone do NVM. Os detalhes estão listados em Por que outro gerenciador de versão? e qual é a grande diferença?
Não pode patrocinar? Considere nomear @coreybutler como estrela do Github. |
Encontrando problemas? Consulte o wiki de problemas comuns.
Buscando feedback:Estamos trabalhando no Runtime (rt), o sucessor do NVM para Windows. Por favor, contribua dedicando um minuto para preencher este formulário. Obrigado! |
Gerencie várias instalações de node.js em um computador Windows.
dr Semelhante (não idêntico) ao nvm, mas para Windows. Possui instalador. Baixe agora!
Este sempre foi um gerenciador de versão de nó, não um gerenciador io.js, portanto não há suporte para io.js. O nó 4+ é compatível. Lembre-se de que ao executar nvm install
ou nvm use
, o Windows geralmente requer direitos administrativos (para criar links simbólicos). Para instalar a versão mais recente do Node.js, execute nvm install latest
. Para instalar a versão estável mais recente, execute nvm install lts
.
Existem situações em que a capacidade de alternar entre diferentes versões do Node.js pode ser muito útil. Por exemplo, se você deseja testar um módulo que está desenvolvendo com a versão mais recente sem desinstalar a versão estável do nó, este utilitário pode ajudar.
A maneira mais simples (recomendada) de fazer o NVM para Windows funcionar corretamente é desinstalar qualquer instalação anterior do Node antes de instalar o NVM para Windows. Isso evita todas as armadilhas listadas abaixo. No entanto; você pode não querer destruir a instalação do Node se você o tiver personalizado altamente. O NVM para Windows pode assumir o gerenciamento de uma instalação existente, mas há nuances nisso (dependendo inteiramente das permissões do usuário que executa a instalação). Se você tiver uma conta administrativa, é relativamente seguro instalar o NVM para Windows antes de desinstalar a versão original do Node. Se você estiver trabalhando em um ambiente fechado, como um ambiente corporativo do Active Directory onde as instalações/desinstalações são controladas pela política de grupo, você deve realmente considerar a remoção da versão original do Node antes de instalar o NVM4W.
Problemas de permissão Por motivos de segurança, o Windows não permitirá que um aplicativo de um fornecedor "desinstale" um aplicativo de outro fornecedor. O instalador oficial do NVM4W tentará assumir o gerenciamento de uma instalação existente do Node., mas não poderá desinstalar a versão original do Node.js. Para contornar isso, o instalador do NVM para Windows tenta copiar os arquivos de instalação originais do Node.js para a raiz do NVM. Isso inclui módulos e configurações globais do npm. Assim que esse processo for concluído, a instalação original do Node.js pode ser desinstalada sem perda de dados.
Problemas de instalação do PATH Se você tentar configurar o NVM_SYMLINK
para usar um diretório existente (como C:Program Filesnodejs
), ele falhará porque um link simbólico não pode substituir um diretório físico. Isso não será um problema se você escolher um caminho de link simbólico diferente (como C:nvmnode
).
Conflitos de PATH Se você não desinstalar a versão original, executar nvm use
pode parecer não fazer nada. A execução node -v
sempre mostrará a versão original da instalação. Isso ocorre devido a um conflito PATH
que ocorre quando o mesmo aplicativo é instalado várias vezes. No NVM4W 1.1.11+, execute nvm debug
para determinar se há um conflito PATH
.
Para simplificar, recomendamos desinstalar qualquer versão existente do Node.js antes de usar o NVM para Windows. Exclua todos os diretórios de instalação existentes do Node.js (por exemplo, %ProgramFiles%nodejs
) que possam permanecer. O link simbólico gerado pelo NVM não substituirá um diretório de instalação existente (mesmo vazio).
? Fazer backup de qualquer configuração global npmrc
? (por exemplo, %AppData%npmetcnpmrc
)
Como alternativa, copie as configurações para a configuração do usuário %UserProfile%.npmrc
. Exclua o local de instalação do npm existente (por exemplo, %AppData%npm
) para evitar conflitos globais de módulos.
Use o instalador mais recente (vem com um desinstalador). Alternativamente, siga o guia de instalação manual.
Se o NVM4W não funcionar imediatamente após a instalação, reinicie o terminal/powershell (não o computador inteiro).
Após a instalação, a reinstalação dos utilitários globais (por exemplo, yarn) deverá ser feita para cada versão instalada do node:
nvm use 14.0.0 npm install -g yarn nvm use 12.0.1 npm install -g yarn
A partir da versão 1.1.8, existe um utilitário de atualização que automatizará o processo de atualização.
Para atualizar o nvm-windows , execute o novo instalador. Ele substituirá com segurança os arquivos que precisa atualizar sem alterar as instalações do node.js. Certifique-se de usar a mesma pasta de instalação e link simbólico. Se você instalou originalmente nos locais padrão, basta clicar em “próximo” em cada janela até terminar.
nvm-windows é executado em um shell de administrador . Você precisará iniciar powershell
ou o prompt de comando como administrador para usar o nvm-windows
NVM para Windows é uma ferramenta de linha de comando. Basta digitar nvm
no console para obter ajuda. Os comandos básicos são:
nvm arch [32|64]
: Mostra se o nó está rodando no modo de 32 ou 64 bits. Especifique 32 ou 64 para substituir a arquitetura padrão.
nvm debug
: verifique o processo NVM4W em busca de problemas conhecidos.
nvm current
: exibe a versão ativa.
nvm install
: A versão pode ser uma versão específica, "latest" para a versão atual mais recente ou "lts" para a versão LTS mais recente. Opcionalmente, especifique se deseja instalar a versão de 32 ou 64 bits (o padrão é o arch do sistema). Defina [arch] como "all" para instalar versões de 32 e 64 bits. Adicione --insecure
ao final deste comando para ignorar a validação SSL do servidor de download remoto.
nvm list [available]
: lista as instalações do node.js. Digite available
no final para mostrar uma lista de versões disponíveis para download.
nvm on
: habilita o gerenciamento de versão node.js.
nvm off
: Desativa o gerenciamento de versão node.js (não desinstala nada).
nvm proxy [url]
: Defina um proxy para usar para downloads. Deixe [url]
em branco para ver o proxy atual. Defina [url]
como "none" para remover o proxy.
nvm uninstall
: desinstala uma versão específica.
nvm use
: alterne para usar a versão especificada. Opcionalmente, use latest
, lts
ou newest
. newest
é a versão mais recente instalada . Opcionalmente, especifique a arquitetura de 32/64 bits. nvm use
continuará usando a versão selecionada, mas mudará para o modo 32/64 bits. Para obter informações sobre como usar use
em um diretório específico (ou usar .nvmrc
), consulte a edição nº 16.
nvm root
: Defina o diretório onde o nvm deve armazenar diferentes versões do node.js. Se
não estiver definido, a raiz atual será exibida.
nvm version
: exibe a versão atual do NVM para Windows.
nvm node_mirror
: Defina o espelho do nó. Pessoas na China podem usar https://npmmirror.com/mirrors/node/
nvm npm_mirror
: Defina o espelho npm. Pessoas na China podem usar https://npmmirror.com/mirrors/npm/
Observe que quaisquer módulos npm globais que você possa ter instalado não são compartilhados entre as várias versões do node.js que você instalou. Além disso, alguns módulos npm podem não ser suportados na versão do nó que você está usando, portanto, esteja atento ao seu ambiente enquanto trabalha.
Os usuários relataram alguns problemas ao usar antivírus, especificamente McAfee. Parece que o software antivírus está manipulando o acesso ao mecanismo VBScript. Consulte a edição nº 133 para obter detalhes e resolução.
v1.1.8 não tem assinatura de código , mas todas as outras versões são assinadas por Ecor Ventures LLC/Author.io. Isso deve ajudar a evitar falsos positivos com a maioria dos softwares antivírus.
v1.1.8+ não foi assinado por código devido a um certificado expirado (consulte as notas de versão para saber os motivos). v1.1.9 é assinado em código graças a ajyong, que patrocinou o novo certificado.
tldr; npm i -g yarn
Veja o wiki para detalhes.
Instale em http://golang.org
Fonte de download / Git Clone o repositório
Altere GOARCH para amd64 em build.bat se desejar criar um executável de 64 bits
Abra um prompt de comando do Windows e mude o diretório para o diretório do projeto
Execute, go get github.com/blang/semver
Execute, go get github.com/olekukonko/tablewriter
Execute build.bat
Verifique o diretório dist
do programa de configuração gerado.
Existem vários gerenciadores de versão para node.js. Ferramentas como nvm e n rodam apenas em Mac OSX e Linux. Os usuários do Windows ficam no frio? Nvmw e nodist foram projetados para Windows. Então, por que outro gerenciador de versões para Windows?
A arquitetura da maioria dos gerenciadores de versão de nós para Windows depende de arquivos .bat
, que fazem alguns truques inteligentes para definir ou imitar variáveis de ambiente. Alguns deles usam o próprio nó (depois de baixado), o que é admirável, mas sujeito a problemas. Perto do nó 0.10.30, a estrutura de instalação mudou um pouco, fazendo com que alguns deles parassem de funcionar com qualquer coisa nova.
Além disso, alguns usuários têm dificuldade para instalar esses módulos, pois é necessário um pouco mais de conhecimento da estrutura de instalação do nó. Acredito que se fosse mais fácil para as pessoas alternarem entre versões, elas poderiam dedicar um tempo para testar seu código nas versões anteriores e futuras... o que é apenas uma boa prática.
Em primeiro lugar, esta versão do nvm não depende do nó. Está escrito em Go, que é uma abordagem muito mais estruturada do que hackear um arquivo .bat
limitado. Não depende de ter uma instalação de nó existente. Go oferece a capacidade de criar uma versão Mac/Linux na mesma base de código. Na verdade, isso já está em andamento.
O mecanismo de controle também é bem diferente. Existem duas maneiras gerais de oferecer suporte a instalações de vários nós com recursos de comutação a quente. A primeira é modificar o PATH
do sistema sempre que você alternar versões ou ignorá-lo usando um arquivo .bat
para imitar o executável do nó e redirecionar de acordo. Isso sempre me pareceu um pouco hackeado e há algumas peculiaridades como resultado dessa implementação.
A segunda opção é usar um link simbólico. Este conceito requer colocar o link simbólico no sistema PATH
e, em seguida, atualizar seu destino para o diretório de instalação do nó que você deseja usar. Esta é uma abordagem direta e parece ser o que as pessoas recomendam... até perceberem o quanto os links simbólicos são dolorosos no Windows. É por isso que isso não aconteceu antes.
Para criar/modificar um link simbólico, você deve estar executando como administrador e deve contornar o Windows UAC (aquele prompt irritante). Felizmente, este é um desafio que já resolvi com alguns scripts auxiliares em janelas de nó. Como resultado, o NVM para Windows mantém um único link simbólico que é colocado no PATH
do sistema somente durante a instalação. Mudar para versões diferentes do nó é uma questão de mudar o destino do link simbólico. Como resultado, este utilitário não exige que você execute nvm use xxx
toda vez que abrir uma janela do console. Quando você executa nvm use xxx
, a versão ativa do nó é atualizada automaticamente em todas as janelas abertas do console. Ele também persiste entre as reinicializações do sistema, então você só precisa usar o nvm quando quiser fazer uma alteração.
O NVM para Windows vem com um instalador, cortesia de um subproduto do meu trabalho no Fenix Web Server.
No geral, este projeto reúne algumas ideias, algumas peças de outros módulos resistentes à batalha e suporte para versões mais recentes do node.
O NVM para Windows reconhece as versões “mais recentes” usando uma lista fornecida pelo projeto Node. A versão 1.1.1+ usa esta lista. Antes de essa lista existir, eu estava coletando lançamentos e servindo-os como um feed de dados independente. Esta lista foi usada nas versões 1.1.0 e anteriores, mas agora está obsoleta.
Eu precisava disso, pura e simplesmente. Além disso, é evidente que o suporte para múltiplas versões não está chegando ao núcleo do nó. Também foi uma desculpa para brincar com Go.
Eu escolhi Go porque é multiplataforma, parece menos trabalhoso que Java e existe há mais tempo do que a maioria das pessoas pensa. Além disso, eu queria experimentar isso. Me perguntaram por que não escrevi com Node. Tentar escrever uma ferramenta com a ferramenta que você está tentando instalar não faz sentido para mim. Como resultado, os requisitos do meu projeto para isso eram simples... algo que não é Node. O Node continuará a evoluir e mudar. Se você precisar de um lembrete disso, lembre-se de io.js, Ayo, todas as alterações importantes entre 4.xx e 6.xx e a mudança para módulos ES em 12+. A mudança é inevitável no mundo do software. JavaScript é extremamente dinâmico.
Obrigado a todos que enviaram problemas dentro e fora do Github, fizeram sugestões e geralmente ajudaram a tornar este projeto melhor. Agradecimentos especiais a
@vkbansal, que forneceu feedback inicial significativo ao longo dos primeiros lançamentos.
@rainabba e @sullivanpt por integrarem o suporte ao Node v4.
@shadow que resolveu o antigo problema de escape de espaço em nomes de caminhos (#355).
ajyong que patrocinou o certificado de assinatura de código no final de 2021.