Installare WebAssembly in locale

Scopri come installare WebAssembly in locale per risolvere gli esercizi di Exercism sulla tua macchina


Questo track si basa su Node.js per fornire un runtime per WebAssembly. Questo significa che diamo per scontato che tutto il JavaScript eseguito sul tuo computer passerà attraverso Node.js.

Requisiti del track

Molte macchine hanno Node.js preinstallato, oppure potrebbe essere già stato installato in precedenza o come dipendenza. Quindi, prima di fare qualsiasi cosa, controlliamo se è già installato:

  1. Apri un terminale (Terminal, cmd, Powershell, bash, ...)
  2. Esegui node -v

Se Node.js è installato, viene mostrata una versione. Annota questa versione. Se Node.js non è installato, verrà mostrato un errore. Di solito, qualcosa del tipo 'node' is not recognised.

Node.js

Se Node.js è preinstallato

Vai al sito di Node.js. Mostrerà due versioni (se rileva il tuo sistema operativo; in caso contrario, seleziona prima il tuo sistema operativo). Se la versione restituita da node -v corrisponde a una di queste, sei a posto. In caso contrario, ti consigliamo di usare Node.js LTS. Se temi che l'aggiornamento possa rompere qualcosa sul tuo sistema, puoi continuare come se niente fosse; se però succede qualcosa di imprevisto, potremmo non essere in grado di offrirti supporto.

Se Node.js non è installato

Ci sono un paio di modi per installare Node.js:

Entrambe le opzioni funzionano su Windows, macOS e Linux. Se non sai cosa fare, usare un installer è la soluzione più semplice.

  • Ti consigliamo di usare la versione LTS. Sul sito di Node.js è anche indicata come consigliata «per la maggior parte degli utenti».
  • Segui le istruzioni sulla pagina web e/o durante l'installazione e installa Node.js.

Verificare l'installazione

Dopo che l'installer ha finito, o il gestore di pacchetti ha completato, o il binario è stato copiato e le istruzioni sono state seguite, è bene verificare che sia tutto a posto.

  1. Apri un terminale (Terminal, cmd, Powershell, bash, ...)
  2. Esegui node -v

La versione dovrebbe corrispondere a quella sul sito.

Nota: è importante aprire una nuova finestra del terminale. Le finestre del terminale già aperte potrebbero non essersi aggiornate dopo il completamento dell'installazione. Questo significa che i terminali aperti non sanno che è stato installato un nuovo programma.

Aiuto: 'node' is not recognised

Se hai usato l'installer ufficiale, il tuo PATH dovrebbe essere stato configurato automaticamente; ma se la tua shell ha difficoltà a individuare i moduli installati a livello globale (o se hai compilato Node.js dai sorgenti), aggiorna il tuo PATH in modo che includa i binari di npm.

Su macOS e Linux puoi farlo aggiungendo quanto segue a ~/.bash_profile oppure a ~/.zshrc:

export PATH=/usr/local/share/npm/bin:$PATH

Su Windows apri il menu Start e cerca "environment variables". Devi modificare la voce PATH e aggiungere qui il percorso dei binari di npm. Di solito, si trovano in C:\Program Files\nodejs. Se navighi fin qui con il tuo File Explorer, dovresti trovare node.exe, npm.bat e npx.bat.

Chiudi tutti i terminali aperti e aprine uno nuovo.

Requisiti degli esercizi

Segui queste istruzioni per scaricare la CLI di Exercism per il tuo sistema operativo.

Una volta configurata la CLI, scarica il primo esercizio, hello-world:

exercism download --exercise=hello-world --track=wasm

Ogni esercizio ha poi bisogno di alcuni strumenti per eseguire i test. Si possono installare eseguendo questo comando all'interno della cartella di ciascun esercizio:

npm install

Aiuto: '<package>' is missing / cannot be found

Se lo vedi dopo aver aggiornato il tuo esercizio, benvenuto in npm 7. Elimina node_modules e package-lock.json e riesegui il comando per risolvere il problema.

Se lo spazio su disco ti preoccupa e non hai problemi a installare un altro strumento, dai un'occhiata a pnpm, che assicura che sul disco venga installata una sola copia per ogni versione di pacchetto. In questo caso, esegui pnpm install invece di npm install e tutto dovrebbe funzionare come previsto.

Ma cos'è npm e perché funziona?

Non ti servono queste informazioni per completare il track JavaScript, ma se sei impaziente di capire cosa è appena successo, i paragrafi che seguono fanno per te:

Tutto questo funziona perché npm è un gestore di pacchetti incluso in Node.js, che è stato installato seguendo i passaggi qui sopra. Il comando npm cerca un file package.json, presente in ogni cartella di esercizio. Questo file elenca le "dependencies" indicate sopra, che vengono poi scaricate da npm e inserite nella cartella node_modules.

Gli script nel package.json usano i binari dalla cartella locale node_modules, e sono proprio questi script a essere usati per eseguire i test, come elencato nella descrizione dell'esercizio exercise.