Gerenciador de Versão do Node (NVM em resumo) é um simples script bash para gerenciar múltiplas versões ativas do node.js em seu sistema Linux. Ele permite que você instale várias versões do node.js e veja todas as versões disponíveis para instalação e todas as versões instaladas em seu sistema.
O Nvm também suporta a execução de uma versão específica do node.js e pode mostrar o caminho para o executável onde foi instalado, e muito mais.
Neste artigo, explicaremos como instalar Gerenciador de Versão do Node (NVM) para gerenciar múltiplas versões ativas do node.js em sua distribuição Linux.
Sumário
Instalando o NVM (Node Version Manager) no Linux
Para instalar ou atualizar o nvm na sua distribuição Linux, você pode baixar o script de auto-instalação usando as ferramentas de linha de comando curl ou wget, conforme mostrado.
# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash OR # wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
O script de autoinstalação acima clona o repositório nvm para ~/.nvm
no seu diretório pessoal e adiciona os comandos de origem necessários aos seus scripts de inicialização do shell, ou seja, ~/.bash_profile, ~/.zshrc, ~/.profile ou ~/.bashrc, dependendo do programa de shell que você está usando, conforme mostrado na saída a seguir.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15916 100 15916 0 0 34227 0 --:--:-- --:--:-- --:--:-- 34301 => Downloading nvm from git to '/root/.nvm' => Cloning into '/root/.nvm'... remote: Enumerating objects: 359, done. remote: Counting objects: 100% (359/359), done. remote: Compressing objects: 100% (305/305), done. remote: Total 359 (delta 40), reused 168 (delta 28), pack-reused 0 Receiving objects: 100% (359/359), 219.46 KiB | 6.86 MiB/s, done. Resolving deltas: 100% (40/40), done. * (HEAD detached at FETCH_HEAD) master => Compressing and cleaning up git repository => Appending nvm source string to /root/.bashrc => Appending bash_completion source string to /root/.bashrc => You currently have modules installed globally with `npm`. These will no => longer be linked to the active version of Node when you install a new node => with `nvm`; and they may (depending on how you construct your `$PATH`) => override the binaries of modules installed with `nvm`: ...
Após a instalação ser concluída, feche a janela do terminal atual e abra uma nova. Ou, simplesmente, adicione o arquivo de perfil do seu shell para carregar o nvm. Por exemplo, se estiver usando o bash, execute o seguinte comando:
$ source ~/.bashrc OR $ source ~/.profile
Em seguida, verifique se o nvm foi instalado no seu sistema usando o seguinte comando.
# command -v nvm nvm
Ele mostrará a saída como ‘nvm‘ se a instalação for bem-sucedida.
Instale Múltiplas Versões do Node.js Usando NVM
Agora é hora de aprender como usar o Gerenciador de Versões do Node no Linux. Para baixar, compilar e instalar a última versão do node, execute o seguinte comando:
# nvm install node
Observe que no comando acima, “node” é um alias para a última versão.
Downloading and installing node v20.0.0... Downloading https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.xz... ########################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v20.0.0 (npm v9.6.4) Creating default alias: default -> node (-> v20.0.0)
Para instalar uma versão específica do “node”, primeiro liste as versões disponíveis do node e depois instale a versão conforme mostrado.
# nvm ls-remote # nvm install 19.0.0
Downloading and installing node v19.0.0... Downloading https://nodejs.org/dist/v19.0.0/node-v19.0.0-linux-x64.tar.xz... ########################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v19.0.0 (npm v8.19.2)
Depois de instalar uma versão do Node.js usando o nvm, o sistema agora deve apontar para as versões do Node.js e npm sob o nvm. Você pode verificar a localização do node e npm sendo usados executando o comando which da seguinte forma:
# which node /root/.nvm/versions/node/v20.0.0/bin/node # which npm /root/.nvm/versions/node/v20.0.0/bin/npm # node -v v20.0.0 # npm -v 9.6.4
Listando Versões Instaladas do Node.js
Você pode verificar todas as versões instaladas com o seguinte comando:
# nvm ls
-> v19.0.0 v20.0.0 system default -> node (-> v20.0.0) iojs -> N/A (default) unstable -> N/A (default) node -> stable (-> v20.0.0) (default) stable -> 20.0 (-> v20.0.0) (default) lts/* -> lts/hydrogen (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.24.1 (-> N/A) lts/erbium -> v12.22.12 (-> N/A) lts/fermium -> v14.21.3 (-> N/A) lts/gallium -> v16.20.0 (-> N/A) lts/hydrogen -> v18.16.0 (-> N/A)
Escolhendo a Versão do Node para um Projeto
Aqui é onde o nvm se torna interessante. Agora você pode usar o nvm para escolher a versão do node.js a ser usada para cada projeto em que estiver trabalhando, com base nos requisitos. Vamos ver como fazer isso, conforme explicado abaixo.
Abra vários terminais e mova-se para os diretórios do projeto. Para este guia, temos dois projetos sob ~/projects/app-server e ~/projects/test-ui que requerem as versões do node 19.0.0 e 20.0.0, respectivamente.
------------ Project 1 ------------ $ cd ~/projects/api-server $ nvm use 19.0.0 $ node -v ------------ Project 2 ------------ $ cd ~/projects/test-ui $ nvm use 20.0.0 $ node -v
Por exemplo, se você tiver um pacote global instalado quando a versão 19.0.0 estiver ativa, ao alternar para a versão 20.0.0, você precisará reinstalar o pacote global na nova versão.
Importante, você pode ver o caminho para o executável para onde uma versão específica do node foi instalada da seguinte maneira:
# nvm which 20.0.0 # nvm which 19.0.0 # nvm which system #check system-installed version of a node using “system” alias
Definir a Versão Padrão do Node.js no Linux
Além disso, para definir manualmente uma versão padrão do node a ser usada em qualquer novo shell, use o alias “padrão” conforme mostrado.
# nvm alias default 20.0.0 # nvm alias default system # nvm alias default 19.0.0
.nvmrc
initialization file in your project root directory (or any parent directory) and add a node version number or any other flags or usage options that nvm understands, in it. Then use some of the commands we have just looked at above to operate with the specified version in the file.Desinstalando uma Versão do Node.js no Linux
Para desinstalar ou remover uma versão do Node.js, execute o seguinte comando (não se esqueça de substituir 19.0.0 pelo número da versão):
# nvm uninstall 19.0.0
Desinstalando o NVM no Linux
Para remover o nvm manualmente do seu sistema, execute os seguintes comandos:
# rm -rf "$NVM_DIR" OR # rm -rf ~/.nvm
Em seguida, edite ~/.bashrc (ou o arquivo de configuração de perfil do shell aplicável, conforme listado acima) e remova as seguintes linhas de configuração:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion
Para mais informações, consulte nvm --help
ou vá para o repositório do Node Version Manager no Github: https://github.com/nvm-sh/nvm.
É isso! O Node Version Manager é um script bash simples para gerenciar múltiplas versões ativas do node.js no seu sistema Linux. Use o formulário de feedback abaixo para fazer perguntas ou compartilhar seus comentários conosco.
Source:
https://www.tecmint.com/nvm-install-multiple-nodejs-versions-in-linux/