Pesquisa de site

NVM - Instale e gerencie várias versões do Node.js no Linux


Node Version Manager (NVM em resumo) é um script bash simples para gerenciar várias versões ativas de node.js em seu sistema Linux. Ele permite que você instale várias versões do node.js e visualize todas as versões disponíveis para instalação e todas as versões instaladas em seu sistema.

Nvm também suporta a execução de uma versão específica do node.js e pode mostrar o caminho do executável onde foi instalado e muito mais.

Neste artigo, explicaremos como instalar o Node Version Manager (NVM) para gerenciar múltiplas versões ativas de node.js em sua distribuição Linux.

Instalando NVM (Node Version Manager) no Linux

Para instalar ou atualizar o nvm em sua distribuição Linux, você pode baixar o script de instalação automática 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 instalação automática acima clona o repositório nvm para ~/.nvm em seu diretório inicial 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 shell que você estão 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`:
...

Assim que a instalação for concluída, feche a janela do terminal atual e abra uma nova. Ou simplesmente forneça o arquivo de perfil do shell para carregar o nvm. Por exemplo, se você estiver usando o bash, execute o seguinte comando:

source ~/.bashrc
OR
source ~/.profile

A seguir, verifique se o nvm foi instalado em seu sistema usando o seguinte comando.

command -v nvm

nvm

Ele mostrará a saída como ‘nvm’ se a instalação foi bem-sucedida.

Instale várias versões do Node.js usando NVM

Agora é hora de aprender como usar o Node Version Manager no Linux. Para baixar, compilar e instalar a versão mais recente do node, execute o seguinte comando:

nvm install node 

Observe que no comando acima, “node” é um alias para a versão mais recente.

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 “nó”, primeiro liste as versões de nó disponíveis 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 nvm, o sistema agora deve apontar para Node.js e npm em nvm. Você pode verificar a localização do binário/comando e npm que está sendo usado executando o comando qual da seguinte maneira:

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)

Escolha a versão do nó para um projeto

É aqui que o nvm se torna interessante. Agora você pode usar o nvm para escolher a versão do node.js a ser usada em cada projeto em que estiver trabalhando, com base nos requisitos. Vamos ver como fazer isso, conforme explicado a seguir.

Abra vários terminais e vá para os diretórios do projeto. Para este guia, temos dois projetos em ~/projects/app-server e ~/projects/test-ui que requerem versões de nó 19.0.0 e 20.0.0 enganosamente .

------------ 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 mudar para a versão 20.0.0, será necessário reinstalar o pacote global na nova versão.

É importante ressaltar que você pode visualizar o caminho do executável onde uma versão específica do nó 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 versão padrão do Node.js no Linux

Além disso, para definir manualmente uma versão de nó padrão para ser usada em qualquer novo shell, use o alias “default” conforme mostrado.

nvm alias default 20.0.0
nvm alias default system
nvm alias default 19.0.0

Desinstalando a versão Node.js no Linux

Para desinstalar ou remover uma versão do Node.js, emita 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 NVM no Linux

Para remover 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 do 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 obter mais informações, consulte nvm --help ou acesse o repositório Node Version Manager Github: https://github.com/nvm-sh/nvm.

Isso é tudo! Node Version Manager é um script bash simples para gerenciar múltiplas versões ativas de node.js em seu sistema Linux. Use o formulário de feedback abaixo para fazer perguntas ou compartilhar seus comentários conosco.