Μάθε πώς να εγκαταστήσεις τη WebAssembly τοπικά για να λύνεις τις ασκήσεις του Exercism στον δικό σου υπολογιστή
Αυτό το track βασίζεται εξ ολοκλήρου στο Node.js για να παρέχει ένα περιβάλλον εκτέλεσης για WebAssembly. Αυτό σημαίνει ότι υποθέτουμε πως κάθε εκτέλεση JavaScript στον υπολογιστή σου θα γίνεται μέσω Node.js.
Πολλοί υπολογιστές έρχονται με προεγκατεστημένο το Node.js ή μπορεί να το έχεις εγκαταστήσει στο παρελθόν, ή να έχει μπει ως εξάρτηση. Έτσι, πριν κάνουμε οτιδήποτε, καλό είναι να ελέγξουμε αν είναι ήδη εγκατεστημένο:
Terminal, cmd, Powershell, bash, ...)node -v
Αν το Node.js είναι εγκατεστημένο, θα εμφανιστεί μια έκδοση.
Σημείωσε αυτή την έκδοση.
Αν το Node.js δεν είναι εγκατεστημένο, θα εμφανιστεί ένα σφάλμα.
Συνήθως, κάτι σαν το 'node' is not recognised.
Πήγαινε στην ιστοσελίδα του Node.js.
Θα εμφανίσει δύο εκδόσεις (αν αναγνωρίσει το λειτουργικό σου σύστημα. Αλλιώς, διάλεξε πρώτα το λειτουργικό σου σύστημα).
Αν η έκδοση του node -v ταιριάζει με μία από αυτές, είσαι εντάξει.
Αν όχι, σου προτείνουμε να χρησιμοποιήσεις το Node.js LTS.
Αν ανησυχείς ότι η αναβάθμιση μπορεί να χαλάσει κάτι στο σύστημά σου, μπορείς να συνεχίσεις σαν να είναι όλα εντάξει· ίσως όμως να μη μπορούμε να σου παρέχουμε υποστήριξη αν συμβεί κάτι απρόσμενο.
Υπάρχουν δύο τρόποι για να εγκαταστήσεις το Node.js:
Και οι δύο επιλογές υποστηρίζουν Windows, macOS και Linux. Αν δεν ξέρεις τι να κάνεις, το πιο εύκολο είναι να χρησιμοποιήσεις ένα πρόγραμμα εγκατάστασης.
Αφού ολοκληρωθεί το πρόγραμμα εγκατάστασης, ή τελειώσει ο διαχειριστής πακέτων, ή αντιγραφεί το δυαδικό αρχείο και ακολουθηθούν οι οδηγίες, καλό είναι να ελέγξεις αν όλα είναι εντάξει.
Terminal, cmd, Powershell, bash, ...)node -v
Η έκδοση θα πρέπει να ταιριάζει με αυτήν στην ιστοσελίδα.
Σημείωση: Είναι σημαντικό να ανοίξεις ένα νέο παράθυρο τερματικού. Τυχόν ανοιχτά παράθυρα τερματικού μπορεί να μην έχουν ενημερωθεί αφού ολοκληρώθηκε η εγκατάσταση. Αυτό σημαίνει ότι τα ανοιχτά τερματικά δε γνωρίζουν ότι εγκαταστάθηκε ένα νέο πρόγραμμα.
Βοήθεια:
'node' is not recognisedΑν χρησιμοποίησες το επίσημο πρόγραμμα εγκατάστασης, το
PATHσου θα πρέπει να έχει ρυθμιστεί αυτόματα, αλλά αν το shell σου δυσκολεύεται να εντοπίσει τα καθολικά εγκατεστημένα modules σου, ή αν έφτιαξες το Node.js από τον πηγαίο κώδικα, ενημέρωσε τοPATHσου ώστε να περιλαμβάνει τα εκτελέσιμα τουnpm.Σε macOS και Linux μπορείς να το κάνεις αυτό προσθέτοντας τα παρακάτω είτε στο
~/.bash_profileείτε στο~/.zshrc:export PATH=/usr/local/share/npm/bin:$PATHΣτα Windows άνοιξε το μενού έναρξης και αναζήτησε "environment variables". Θα χρειαστεί να επεξεργαστείς την καταχώριση
PATHκαι να προσθέσεις εδώ τη διαδρομή προς τα εκτελέσιμα τουnpm. Συνήθως, αυτά βρίσκονται στοC:\Program Files\nodejs. Αν περιηγηθείς εδώ με τονFile Explorer, θα πρέπει να βρεις ταnode.exe,npm.batκαιnpx.bat.Κλείσε όλα τα ανοιχτά τερματικά και άνοιξε ένα νέο.
Ακολούθησε αυτές τις οδηγίες για να κατεβάσεις το Exercism CLI για το λειτουργικό σου σύστημα.
Αφού το CLI στηθεί και ρυθμιστεί, κατέβασε την πρώτη άσκηση, hello-world:
exercism download --exercise=hello-world --track=wasm
Έπειτα, κάθε άσκηση χρειάζεται κάποια εργαλεία για να τρέξουν τα tests. Μπορείς να τα εγκαταστήσεις τρέχοντας αυτή την εντολή μέσα στον φάκελο κάθε άσκησης:
npm install
Βοήθεια:
'<package>' is missing / cannot be foundΑν το δεις αυτό αφού αναβαθμίσεις την άσκησή σου, καλώς ήρθες στο npm 7. Διάγραψε τα
node_modulesκαι τοpackage-lock.jsonκαι ξανάτρεξε την εντολή για να λυθεί.
Αν σε απασχολεί ο χώρος στον δίσκο και δεν έχεις πρόβλημα να εγκαταστήσεις άλλο ένα εργαλείο, ρίξε μια ματιά στο pnpm, το οποίο διασφαλίζει ότι στον δίσκο εγκαθίσταται μόνο ένα αντίγραφο από κάθε έκδοση πακέτου.
Σε αυτή την περίπτωση, τρέξε pnpm install αντί για npm install και όλα θα πρέπει να δουλέψουν όπως περιμένεις.
Μα τι είναι το npm και γιατί δουλεύει αυτό;
Δε χρειάζεσαι αυτές τις πληροφορίες για να ολοκληρώσεις το track JavaScript, αλλά αν ανυπομονείς να καταλάβεις τι μόλις συνέβη, οι παρακάτω παράγραφοι είναι για σένα:
Αυτό δουλεύει επειδή το
npmείναι ένας διαχειριστής πακέτων που έρχεται μαζί με το Node.js, το οποίο εγκαταστάθηκε σύμφωνα με τα παραπάνω βήματα. Η εντολήnpmψάχνει για ένα αρχείοpackage.json, το οποίο υπάρχει σε κάθε φάκελο άσκησης. Αυτό το αρχείο απαριθμεί τα"dependencies"παραπάνω, τα οποία κατεβάζει μετά τοnpmκαι τα τοποθετεί στον φάκελοnode_modules.Τα scripts στο
package.jsonχρησιμοποιούν τα εκτελέσιμα από τον τοπικό φάκελοnode_modules, και είναι αυτά τα scripts που χρησιμοποιούνται για να τρέξουν τα tests, όπως αναφέρονται στην περιγραφή τουexercise.