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

Instalou o Node.js num VPS e a versão é antiga demais para o seu projecto, ou precisa de subir de versão. A resposta curta: há três caminhos, e a escolha depende de quantos projectos tem e de quem os corre. Para um servidor com uma aplicação, o repositório da NodeSource é o mais directo. Para vários projectos 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 actualizações de segurança do sistema. A versão costuma ser mais antiga do que a que o projecto 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 actualizaçõ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 projectos com versões diferentes, ou testar uma versão nova sem tocar na antiga. Instala por utilizador, 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 projecto 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 actual do projecto (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á a ser 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 projecto (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 utilizador) não carrega o nvm e corre o que encontra. Ponha no ExecStart o caminho completo que o which node lhe deu com o nvm activo. 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 gerido, 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 na encomenda.

Ver os servidores VPS

VEJA TAMBÉM

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

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

Que sistema operativo 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 7.560,00 Kz/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?