

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Node.jsem AL2 023
<a name="nodejs"></a>

 [https://nodejs.org/](https://nodejs.org/)em AL2 023 é representado pelas versões 20, 22 e 24. O Amazon Linux segue o [cronograma de suporte](https://github.com/nodejs/Release) upstream e o status de suporte de qualquer versão do Node.js sempre pode ser verificado na página de [status de suporte do Package](https://docs.aws.amazon.com/linux/al2023/release-notes/support-info-by-package.html). Todas as versões do Node.js compatíveis têm namespace e podem ser instaladas no mesmo sistema simultaneamente. A implantação de namespaces garante que cada instalação do Node.js seja exclusiva no sistema de arquivos. Isso é feito renomeando os principais diretórios e arquivos com base na versão de runtime. Os nomes reais dos executáveis serão parecidos com *node-\$1MAJOR\$1VERSION\$1* ou *npm-\$1MAJOR\$1VERSION\$1*. No entanto, apenas uma versão do Node.js pode estar ativa por vez. Essa versão ativa fornece os diretórios e nomes de arquivos padrão, como *node*, *npm* ou*/usr/lib/node\$1modules*, apontando-os para o tempo de execução atualmente ativo. 

 Isso é alcançado por meio dos recursos da ferramenta *alternatives*. É importante lembrar que os nomes dos executáveis padrão são virtuais e podem mudar a qualquer momento ao apontar para outra versão do Node.js instalada. Essa flexibilidade permite que o software que usa *node* no shebang selecione a versão desejada quando invocado. No entanto, quando uma versão específica do Node.js é necessária, a persistência da versão pode ser alcançada chamando o executável com namespace (por exemplo, *node-20 ou *node-22**), que sempre usará a versão especificada do tempo de execução. Além disso, os executáveis com namespace da ferramenta *npm*, como npm-20 ou npm-22, estão sempre associados à versão correspondente do Node.js, independentemente do runtime ativo no momento. 

 Node.jsé distribuído como vários pacotes com namespace que começam com "”. `nodejs{MAJOR_VERSION}` Esses pacotes fornecem o *node*, uma versão compatível da ferramenta *npm*, documentação, bibliotecas e muito mais. Por exemplo, o *node* e o *npm* dos Node.js 22 são fornecidos pelos `nodejs22-npm` pacotes `nodejs22` e, respectivamente. 

 A ferramenta *alternatives* fornece um comando único para alternar entre versões do Node.js. Por padrão, *alternatives* é configurada para estar no modo automático, que usa prioridades para determinar a versão ativa do Node.js. No entanto, você pode ativar qualquer versão instalada quando quiser. No momento, todas as versões compatíveis do Node.js têm a mesma prioridade, o que significa que a primeira versão instalada será ativada automaticamente. 

**Exemplos úteis do uso de *alternatives***

1. Verifique para que *alternatives* está configurada.

   ```
   alternatives --list
   ```

1. Verifique a configuração atual de *node*.

   ```
   alternatives --display node
   ```

1. Altere a versão do Node.js de forma interativa.

   ```
   alternatives --config node
   ```

1. Mude para o modo manual e selecione uma versão específica.

   ```
   alternatives --set node /usr/bin/node-{MAJOR_VERSION}
   ```

1. Volte para o modo de seleção automática de versão.

   ```
   alternatives --auto node
   ```