DEV Community

Cover image for Instalando o NVM sem privilégios administrativos no Windows (10/11)
Cezar Augusto Mezzalira
Cezar Augusto Mezzalira

Posted on

Instalando o NVM sem privilégios administrativos no Windows (10/11)

Existem alguns cenários onde não é possível instalar ferramentas de desenvolvimento sem ter privilégios administrativos.
Pensando nisso, escrevi esse tutorial para lhe ajudar a instalar NVM (Node Version Manager) nesse cenário.

Executando o poweshell

Para esse tutorial, vamos usar o powershell para a maioria das nossas tarefas.

Por isso, vamos abri-lo clicando no menu iniciar, digitando powershell e depois clicando nele, conforme mostrado na imagem abaixo:

Windows Powershell

Baixando o NVM

Acesse o link abaixo e baixe a versão mais recente (latest) do pacote:
https://github.com/coreybutler/nvm-windows/releases/latest

Para fazer nossa instalação, vamos precisar baixar o NVM para Windows em formato ZIP, conforme a imagem abaixo:

NVM Windows ZIP

PRO TIP: Você também pode usar o powershell para baixar o arquivo direto para sua pasta de Downloads:

Start-BitsTransfer -Source 'https://github.com/coreybutler/nvm-windows/releases/download/1.1.11/nvm-noinstall.zip' -Destination "$($HOME)\Downloads"
Enter fullscreen mode Exit fullscreen mode

Extraindo arquivo para pasta do usuário

O próximo passo é extrairmos os arquivos do nvm do arquivo nvm-noinstall.zip para dentro da nossa pasta de usuário.

Vá até a pasta de Downloads, procure pelo arquivo nvm-noinstall.zip, clique com o botão direito e em seguida clique em Extrair tudo..., conforme a imagem abaixo:

Extraindo arquivos

Na janela que abriu agora, vamos mudar o caminho de destino deixando algo como C:\Users\Seu Usuário\nvm, como na imagem abaixo:

Utilitário de extração

PRO TIP: Você pode usar o powershell para extrair para o local correto:

Expand-Archive -Path $HOME/Downloads/nvm-noinstall.zip -DestinationPath $env:UserProfile/nvm -Force
Enter fullscreen mode Exit fullscreen mode

Criando arquivo de configurações do NVM

Agora, vamos criar nosso arquivo de configuração do nvm. Copie o comando abaixo e cole no powershell:

notepad.exe $HOME\nvm\settings.txt
Enter fullscreen mode Exit fullscreen mode

Em seguida, copie as linhas abaixo e cole no arquivo que foi aberto no notepad:

root: $HOME\nvm
path: $HOME\nvm\nodejs
arch: 64 
proxy: none
Enter fullscreen mode Exit fullscreen mode

Antes de salvar e fechar, vamos precisar mudar o caminho do root e do path, apontando para nossa pasta de usuário.

Para evitar problemas com nome da sua pasta de usuário, vamos gerar o caminho dessa pasta no format curto do DOS.

Com o powershell aberto, digite cmd.

Em seguida, copie e cole o comando abaixo:

for %I in (.) do echo %~sI
Enter fullscreen mode Exit fullscreen mode

Agora, copie a linha logo acima de onde está o cursor conforme na imagem a seguir:

Caminho curto no formato DOS

Em seguida, no arquivo settings.txt aberto no notepad, substitua onde está $HOME pelo caminho que foi copiado no DOS anteriormente.

Seu arquivo deve ficar parecido com isso:

root: C:\Users\CEZARM~1\nvm
path: C:\Users\CEZARM~1\nvm\nodejs
arch: 64 
proxy: none
Enter fullscreen mode Exit fullscreen mode

IMPORTANTE: Para continuar, digite o comando exit para voltar para o PowerShell.

Finalizando a configuração com as variáveis de ambiente

Com os arquivos necessários no lugar, vamos criar as variáveis de ambiente para apontar para onde estão os arquivos do NVM.

Removendo as variáveis existentes

Para evitar problemas, vamos remover as variáveis de ambiente executando linha a linha abaixo:

[Environment]::SetEnvironmentVariable("NVM_HOME",$null,"User")
[Environment]::SetEnvironmentVariable("NVM_SYMLINK",$null,"User")
Enter fullscreen mode Exit fullscreen mode

Adicionando as variáveis atualizadas

Em seguida, vamos adicionar

[Environment]::SetEnvironmentVariable("NVM_HOME","$HOME\nvm","User")
[Environment]::SetEnvironmentVariable("NVM_SYMLINK","$HOME\nvm\nodejs","User")
Enter fullscreen mode Exit fullscreen mode

Adicionando ao Path do usuário as variáveis

Por fim, vamos adicionar ao path do nosso usuário as novas variáveis de ambiente, executando linha a linha abaixo no powershell:

$user_path = [System.Environment]::GetEnvironmentVariable("PATH","USER")
$user_path = $user_path +  "%NVM_HOME%;%NVM_SYMLINK%;"
[System.Environment]::SetEnvironmentVariable("PATH",$user_path,"USER")
Enter fullscreen mode Exit fullscreen mode

Testando a instalação do NVM

Se tudo deu certo, feche o powershell e abra novamente.

Em seguida, digite o comando nvm -v. Se tudo correu bem, a saída deverá ser conforme a imagem abaixo:

NVM version

Instalando o Node.js e ativando localmente

A última etapa será executar nvm install node 20.9.0, que vai instalar a versão mais recente do Node.js 20. Se tudo deu certo, sua saída deverá ser parecida com essa:

Node 20 Install

Em seguida, precisamos criar o link simbolico, para quando chamarmos o comando node seja buscado de dentro da pasta do nvm na pasta da versão 20.9.0 que instalamos anteriormente.

Para isso, vamos executar o seguinte comando:

cmd /C mklink /j $home\nvm\nodejs $home\nvm\v20.9.0
Enter fullscreen mode Exit fullscreen mode

Para finalizar, vamos executar o comando node -v e a saída deverá ser como a abaixo:

Node Version

Importante: Após criar o link, faça logoff ou reinicie a máquina para todas as aplicações carregarem o mesmo.

E assim finalizamos a instalação!

Precisa de ajuda sobre o tutorial acima? Esse tutorial foi útil para você?
Deixe seu comentário abaixo e compartilhe para ajudar outras pessoas :)

Bons códigos!

Esse artigo foi baseado nesse artigo do Allen Kim no Medium: https://medium.com/allenhwkim/windows-10-install-nvm-without-admin-rights-b51418edc480

Top comments (0)