

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Node.jsnel AL2 2023
<a name="nodejs"></a>

 [https://nodejs.org/](https://nodejs.org/)in AL2 023 è rappresentato dalle versioni 20, 22 e 24. Amazon Linux segue la [pianificazione del supporto](https://github.com/nodejs/Release) upstream e lo stato del supporto di qualsiasi versione di Node.js può sempre essere verificato nella [pagina di stato del supporto Package](https://docs.aws.amazon.com/linux/al2023/release-notes/support-info-by-package.html). Tutte le Node.js versioni supportate hanno uno spazio dei nomi e possono essere installate contemporaneamente sullo stesso sistema. Il namespacing garantisce che ogni Node.js installazione sia unica all'interno del file system. Ciò si ottiene rinominando le directory e i file chiave in base alla versione runtime. I nomi eseguibili effettivi saranno simili a *node- \$1MAJOR\$1VERSION\$1 o *npm* - \$1MAJOR\$1VERSION\$1*. Tuttavia, può essere attiva solo una Node.js versione alla volta. Questa versione attiva fornisce le directory e i nomi di file predefiniti, come *node*, *npm* o*/usr/lib/node\$1modules*, indirizzandoli al runtime attualmente attivo. 

 *Ciò si ottiene utilizzando le funzionalità dello strumento delle alternative.* È importante ricordare che i nomi eseguibili predefiniti sono virtuali e possono cambiare in qualsiasi momento quando si fa riferimento a una Node.js versione installata diversa. Questa flessibilità consente al software che utilizza il *nodo* nello shebang di selezionare la versione desiderata quando viene richiamata. Tuttavia, quando Node.js è richiesta una versione specifica di, è possibile ottenere la persistenza della versione chiamando l'eseguibile con namespace (ad esempio, *node-20 o *node-22**), che utilizzerà sempre la versione specificata del runtime. Inoltre, gli eseguibili con namespace dello strumento *npm, come npm-20 o npm-22*, sono sempre associati alla versione Node.js corrispondente, indipendentemente dal runtime attualmente attivo. 

 Node.jsè distribuito come diversi pacchetti con namespace che iniziano con "». `nodejs{MAJOR_VERSION}` Questi pacchetti forniscono *node*, una versione compatibile dello strumento *npm*, documentazione, librerie e altro. Ad esempio, *node* e *npm* of the Node.js 22 sono forniti rispettivamente dai `nodejs22-npm` pacchetti `nodejs22` and. 

 Lo strumento *delle alternative* fornisce un unico comando per passare da una Node.js versione all'altra. Per impostazione predefinita, *le alternative* sono configurate per essere in modalità auto, che utilizza le priorità per determinare la Node.js versione attualmente attiva. Tuttavia, è possibile attivare qualsiasi versione installata in qualsiasi momento. Attualmente, tutte le versioni supportate di Node.js hanno la stessa priorità, il che significa che la prima versione installata verrà attivata automaticamente. 

**Alcuni esempi utili di utilizzo di *alternative***

1. Controlla per quali *alternative* è configurato

   ```
   alternatives --list
   ```

1. Controlla la configurazione attuale del *nodo*

   ```
   alternatives --display node
   ```

1. Cambia la versione in modo interattivo Node.js

   ```
   alternatives --config node
   ```

1. Passa alla modalità manuale e seleziona una versione specifica

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

1. Torna alla modalità di selezione automatica della versione

   ```
   alternatives --auto node
   ```