Node 18/20 - Error: error:0308010C:digital envelope routines::unsupported #8
lifeisfoo
started this conversation in
Errori e refusi
Replies: 1 comment
-
|
Nuova soluzione disponibile qui #11 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problema
Un lettore (che ringrazio) mi ha segnalato che, usando Node 18, l'esecuzione di
npm startnei vari capitoli genera questo errore e impedisce al server di sviluppo di avviarsi.Il problema è legato a delle funzionalità usate da
react-scriptsche sono state deprecate in Node 18+.Il libro è stato scritto quando Node 16 era la versione LTS e quindi quella consigliata: ora che la versione LTS è diventata la 18, tutti gli utenti che installano Node per la prima volta si ritrovano ad installare quest'ultima.
Soluzioni
1. Installare Node 16 al posto di 18
Questa è la soluzione più semplice ma, lavorando con più progetti potrebbe essere possibile ritrovarsi a cambiare versione di nuovo nel prossimo futuro. Quindi non è una soluzione consigliata.
2. Usare un gestore delle versioni di Node per avere più versioni di Node installate contemporaneamente
Questa, secondo me, è la soluzione migliore perché permette di risolvere sia questo problema, che eventuali altri futuri con altri progetti.
L'unico aspetto negativo è che necessario installare e configurare un software aggiuntivo sul PC, un cosiddetto "node version manager".
Questi sono due esempi di "node version manager":
3. Modificare il file package.json per aggiungere un'opzione ai
react-scriptÈ possibile usare Node 18 modificando il package.json dei vari capitoli - questa è la soluzione più semplice.
Basta modificare i vari
react-scripts startinreact-scripts --openssl-legacy-provider start.Questa opzione fa in modo che vengano abilitati su Node 18 delle funzionalità che sono state segnate come legacy e che generano l'errore che vedi.
Facendo così, il progetto partirà senza problemi.
Beta Was this translation helpful? Give feedback.
All reactions