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.
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:
Terminal, cmd, Powershell, bash, ...)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.
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.
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.
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.
Terminal, cmd, Powershell, bash, ...)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 recognisedSe hai usato l'installer ufficiale, il tuo
PATHdovrebbe 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 tuoPATHin modo che includa i binari dinpm.Su macOS e Linux puoi farlo aggiungendo quanto segue a
~/.bash_profileoppure a~/.zshrc:export PATH=/usr/local/share/npm/bin:$PATHSu Windows apri il menu Start e cerca "environment variables". Devi modificare la voce
PATHe aggiungere qui il percorso dei binari dinpm. Di solito, si trovano inC:\Program Files\nodejs. Se navighi fin qui con il tuoFile Explorer, dovresti trovarenode.exe,npm.batenpx.bat.Chiudi tutti i terminali aperti e aprine uno nuovo.
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 foundSe lo vedi dopo aver aggiornato il tuo esercizio, benvenuto in npm 7. Elimina
node_modulesepackage-lock.jsone 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 comandonpmcerca un filepackage.json, presente in ogni cartella di esercizio. Questo file elenca le"dependencies"indicate sopra, che vengono poi scaricate danpme inserite nella cartellanode_modules.Gli script nel
package.jsonusano i binari dalla cartella localenode_modules, e sono proprio questi script a essere usati per eseguire i test, come elencato nella descrizione dell'esercizioexercise.