Instalar ou atualizar o Node.js num VPS: pacote da distribuição, NodeSource ou nvm

Node.js, Python e DockerNode.js e JavaScript·· 1.211 visualizações· 3 min de leitura

Instalou o Node.js num VPS e a versão é antiga demais para o seu projeto, ou precisa de subir de versão. A resposta curta: há três caminhos, e a escolha depende de quantos projetos tem e de quem os corre. Para um servidor com uma aplicação, o repositório da NodeSource é o mais direto. Para vários projetos com versões diferentes, o nvm. O pacote da distribuição é o mais simples, mas costuma estar atrás.

Os três caminhos

Método Bom para A armadilha
Pacote da distribuição (apt, dnf) Instalar depressa, com atualizações de segurança do sistema. A versão costuma ser mais antiga do que a que o projeto pede. Em AlmaLinux e Rocky a distribuição oferece fluxos de módulos (dnf module list nodejs).
Repositório da NodeSource Uma versão recente e fixa para todo o sistema; as atualizações vêm pelo apt ou dnf. Segue o comando da página deles, que muda com as versões; não o copie de um tutorial antigo.
nvm (Node Version Manager) Vários projetos com versões diferentes, ou testar uma versão nova sem tocar na antiga. Instala por usuário, não para o sistema. O systemd e o PM2 não carregam o nvm: use o caminho completo do node.

Escolher a versão e confirmar

1 Veja o que o projeto pede: o campo engines do package.json ou o README. Prefira uma versão de suporte de longa duração (LTS): segundo a política do Node.js, são as versões de numeração par que passam a LTS; as datas de fim de suporte estão em nodejs.org.
2 Instale pelo método escolhido, seguindo a documentação atual do projeto (NodeSource ou nvm). As instruções mudam com o tempo, por isso este artigo não as copia. Com o nvm, depois da instalação: nvm install 22
nvm use 22
nvm alias default 22
O 22 é um exemplo: use a versão de que precisa.
3 Confirme: node -v
npm -v
which node
O which node mostra qual está sendo usado. Se a versão não é a esperada, há outra instalação à frente no caminho.
4 Depois de subir de versão, reinstale as dependências de cada projeto (npm ci) e reconstrua as que têm partes compiladas (npm rebuild), e reinicie as aplicações (pm2 restart, ou o serviço).
O serviço continua com o Node antigo? É o engano mais comum com o nvm: o seu terminal usa a versão nova, mas o systemd (ou o PM2 arrancado por outro usuário) não carrega o nvm e roda o que encontra. Ponha no ExecStart o caminho completo que o which node lhe deu com o nvm ativo. Veja o exemplo de serviço com variáveis.
Não salte versões às cegas. Suba um passo de cada vez, teste a aplicação e só então avance. Antes de mexer num servidor com sites, faça uma cópia: cópias de um VPS. Num VPS não gerenciado, o Node e o que corre nele são seus de manter: até onde vai o nosso suporte.

Ainda não tem um VPS para a sua aplicação? Veja os planos e escolha o sistema no pedido.

Ver os servidores VPS

VEJA TAMBÉM

Manter uma aplicação Node.js a rodar num VPS com o PM2

Node.js no cPanel: escolher a versão e usar o npm

Que sistema operacional escolher para o seu VPS ou servidor

PRODUTO RECOMENDADO

Servidor VPS com acesso root

Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde R$ 46,20/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.