Lerne, wie du WebAssembly lokal installierst, um die Übungen von Exercism auf deinem eigenen Rechner zu lösen
Dieser Track setzt durchgehend auf Node.js, um eine Laufzeitumgebung für WebAssembly bereitzustellen. Das bedeutet, dass wir davon ausgehen, dass die gesamte Ausführung von JavaScript auf deinem Computer mit Node.js erfolgt.
Viele Rechner sind bereits mit Node.js vorinstalliert, oder es wurde vielleicht schon früher installiert, oder als Abhängigkeit. Bevor wir also irgendetwas tun, sollten wir prüfen, ob es bereits installiert ist:
Terminal, cmd, Powershell, bash, ...)node -v ausWenn Node.js installiert ist, wird eine Version angezeigt.
Notiere diese Version.
Wenn Node.js nicht installiert ist, wird eine Fehlermeldung ausgegeben.
Normalerweise in etwa so: 'node' is not recognised.
Rufe die Node.js-Website auf.
Dort werden zwei Versionen angezeigt (wenn es dein Betriebssystem erkennt. Andernfalls wähle zuerst dein Betriebssystem aus).
Wenn die Version deiner Ausgabe von node -v mit einer davon übereinstimmt, passt alles.
Wenn nicht, empfehlen wir dir, Node.js LTS zu verwenden.
Wenn du befürchtest, dass ein Upgrade etwas auf deinem System kaputt macht, kannst du so weitermachen, als wäre alles in Ordnung;
bei unerwarteten Problemen können wir dann allerdings möglicherweise keinen Support bieten.
Es gibt mehrere Möglichkeiten, Node.js zu installieren:
Beide Optionen unterstützen Windows, macOS und Linux. Wenn du nicht weißt, was du tun sollst, ist ein Installer am einfachsten.
Nachdem der Installer fertig ist, der Paketmanager abgeschlossen wurde oder die Binärdatei kopiert und die Anweisungen befolgt wurden, ist es sinnvoll zu prüfen, ob alles in Ordnung ist.
Terminal, cmd, Powershell, bash, ...)node -v ausDie Version sollte mit der auf der Website übereinstimmen.
Hinweis: Es ist wichtig, ein neues Terminal-Fenster zu öffnen. Bereits geöffnete Terminal-Fenster wurden nach Abschluss der Installation möglicherweise nicht aktualisiert. Das bedeutet, dass die offenen Terminals nicht wissen, dass ein neues Programm installiert wurde.
Hilfe:
'node' is not recognisedWenn du den offiziellen Installer verwendet hast, sollte dein
PATHautomatisch konfiguriert worden sein. Falls deine Shell jedoch Probleme hat, deine global installierten Module zu finden, oder falls du Node.js aus dem Quellcode baust, aktualisiere deinPATH, sodass er dienpm-Binärdateien enthält.Unter macOS und Linux kannst du das erreichen, indem du Folgendes entweder zu
~/.bash_profileoder zu~/.zshrchinzufügst:export PATH=/usr/local/share/npm/bin:$PATHÖffne unter Windows das Startmenü und suche nach „environment variables“. Du musst den
PATH-Eintrag bearbeiten und hier den Pfad zu dennpm-Binärdateien hinzufügen. Normalerweise findest du diese unterC:\Program Files\nodejs. Wenn du hier mit demFile Explorernachschaust, solltest dunode.exe,npm.batundnpx.batfinden.Schließe alle geöffneten Terminals und öffne ein neues.
Folge dieser Anleitung, um die Exercism CLI für dein Betriebssystem herunterzuladen.
Sobald die CLI eingerichtet und konfiguriert ist, lade die erste Übung herunter, hello-world:
exercism download --exercise=hello-world --track=wasm
Jede Übung benötigt dann einige Tools, um die Tests auszuführen. Du kannst sie installieren, indem du diesen Befehl im Verzeichnis jeder Übung ausführst:
npm install
Hilfe:
'<package>' is missing / cannot be foundWenn du das nach einem Upgrade deiner Übung siehst, willkommen bei npm 7. Lösche
node_modulesundpackage-lock.jsonund führe den Befehl erneut aus, um das zu beheben.
Wenn du dir Sorgen um den Speicherplatz machst und damit einverstanden bist, ein weiteres Tool zu installieren, schau dir pnpm an.
Es stellt sicher, dass von jeder Paketversion immer nur eine Kopie auf der Festplatte installiert wird.
Führe in diesem Fall pnpm install statt npm install aus, und alles sollte wie erwartet funktionieren.
Aber was ist npm und warum funktioniert das?
Du brauchst diese Information nicht, um den JavaScript-Track abzuschließen. Aber wenn du unbedingt verstehen möchtest, was gerade passiert ist, sind die folgenden Absätze für dich:
Das funktioniert, weil
npmein Paketmanager ist, der mit Node.js mitgeliefert wird, das du nach den obigen Schritten installiert hast. Der Befehlnpmsucht nach einerpackage.json-Datei, die in jedem Übungsordner vorhanden ist. Diese Datei listet die oben aufgeführten"dependencies"auf, die dann vonnpmheruntergeladen und in den Ordnernode_modulesgelegt werden.Die Skripte in der
package.jsonverwenden die Binärdateien aus dem lokalen Ordnernode_modules, und genau diese Skripte werden zum Ausführen der Tests verwendet, wie in der Beschreibung vonexerciseaufgeführt.