A WebAssembly telepítése helyben

Tanuld meg, hogyan telepítsd helyben a WebAssembly-t, hogy a saját gépeden oldhasd meg az Exercism feladatait


Ez a kurzus végig a Node.js-re támaszkodik, hogy futtatókörnyezetet biztosítson a WebAssembly számára. Ez azt jelenti, hogy feltételezzük: a számítógépeden minden JavaScript-futtatás a Node.js segítségével történik.

A kurzus követelményei

Sok gépen előre telepítve van a Node.js, vagy lehet, hogy korábban már telepítették, esetleg valamilyen függőségként került fel. Ezért mielőtt bármit is tennénk, érdemes ellenőrizni, hogy telepítve van-e már:

  1. Nyiss meg egy terminált (Terminal, cmd, Powershell, bash, ...)
  2. Futtasd le a node -v parancsot

Ha a Node.js telepítve van, megjelenik egy verziószám. Írd fel ezt a verziót. Ha a Node.js nincs telepítve, hibaüzenetet kapsz. Általában valami olyasmit, mint a 'node' is not recognised.

Node.js

Ha a Node.js már telepítve van

Nyisd meg a Node.js weboldalát. Az oldal két verziót fog mutatni (ha felismeri az operációs rendszeredet; ha nem, előbb válaszd ki). Ha a node -v által kiírt verzió megegyezik valamelyikkel, minden rendben. Ha nem, a Node.js LTS használatát javasoljuk. Ha attól tartasz, hogy a frissítés tönkretenne valamit a rendszereden, folytathatod úgy, mintha minden rendben lenne; elképzelhető viszont, hogy váratlan helyzet esetén nem tudunk segítséget nyújtani.

Ha a Node.js nincs telepítve

Néhány lehetőség áll rendelkezésre a Node.js telepítésére:

Mindkét lehetőség támogatja a Windows, a macOS és a Linux rendszert. Ha nem tudod, mit tegyél, a telepítő használata a legegyszerűbb.

  • A LTS verziót javasoljuk. A Node.js weboldalán ez is recommended jelölést kap, „for most users” megjegyzéssel.
  • Kövesd a weboldalon és/vagy a telepítő közben megjelenő utasításokat, és telepítsd a Node.js-t.

A telepítés ellenőrzése

Miután a telepítő végzett, a csomagkezelő befejezte a munkát, vagy a bináris fájlt átmásoltad és követted az utasításokat, érdemes ellenőrizni, hogy minden rendben van-e.

  1. Nyiss meg egy terminált (Terminal, cmd, Powershell, bash, ...)
  2. Futtasd le a node -v parancsot

A verziószámnak meg kell egyeznie a weboldalon láthatóval.

Megjegyzés: Fontos, hogy új terminálablakot nyiss. Előfordulhat, hogy a már nyitva lévő terminálablakok nem frissültek a telepítés befejeződése után. Ez azt jelenti, hogy a nyitva lévő terminálok nem tudnak az újonnan telepített programról.

Súgó: 'node' is not recognised

Ha a hivatalos telepítőt használtad, a PATH-ot valószínűleg automatikusan beállították, de ha a shell nehezen találja meg a globálisan telepített moduljaidat, vagy ha forrásból építed a Node.js-t, akkor frissítsd a PATH-ot, hogy tartalmazza az npm binárisait.

macOS-en és Linuxon ezt úgy érheted el, hogy a következőt hozzáadod a ~/.bash_profile vagy a ~/.zshrc fájlhoz:

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

Windows alatt nyisd meg a startmenüt, és keress rá az „environment variables” kifejezésre. Szerkesztened kell a PATH bejegyzést, és itt hozzá kell adnod az npm binárisainak elérési útját. Ezek általában a C:\Program Files\nodejs mappában találhatók. Ha a File Explorer-rel megnyitod ezt a mappát, meg kell találnod a node.exe, npm.bat és npx.bat fájlokat.

Zárd be a nyitva lévő terminálokat, és nyiss egy újat.

A feladatok követelményei

Kövesd ezeket az utasításokat, hogy letöltsd az operációs rendszeredhez tartozó Exercism CLI-t.

Miután a CLI be van állítva és konfigurálva, töltsd le az első feladatot (hello-world):

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

Ezután minden feladathoz néhány eszközre van szükség a tesztek futtatásához. Ezeket úgy telepítheted, hogy a feladat könyvtárában lefuttatod ezt a parancsot:

npm install

Súgó: '<package>' is missing / cannot be found

Ha ezt a feladat frissítése után látod, üdv az npm 7-ben. A megoldáshoz töröld a node_modules mappát és a package-lock.json fájlt, majd futtasd újra a parancsot.

Ha aggódsz a lemezterület miatt, és nem bánod, hogy még egy eszközt telepítesz, nézd meg a pnpm csomagkezelőt, amely gondoskodik róla, hogy minden csomagverzióból csak egy példány kerüljön a lemezre. Ebben az esetben az npm install helyett futtasd a pnpm install parancsot, és mindennek a várt módon kell működnie.

De mi az az npm, és miért működik ez?

Erre az információra nincs szükséged a JavaScript-kurzus teljesítéséhez, de ha szeretnéd megérteni, mi történt az imént, a következő bekezdések neked szólnak:

Ez azért működik, mert az npm egy csomagkezelő, amely a Node.js-szel együtt érkezik, és amelyet a fenti lépések szerint telepítettél. Az npm parancs egy package.json fájlt keres, amely minden feladat mappájában megtalálható. Ez a fájl sorolja fel a fenti "dependencies" bejegyzéseket, amelyeket az npm letölt, és a node_modules mappába helyez.

A package.json-ban lévő szkriptek a helyi node_modules mappa binárisait használják, és épp ezek a szkriptek futtatják a teszteket, ahogy az az exercise leírásában szerepel.