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.
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:
Terminal, cmd, Powershell, bash, ...)node -v parancsotHa 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.
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.
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.
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.
Terminal, cmd, Powershell, bash, ...)node -v parancsotA 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 recognisedHa 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 aPATH-ot, hogy tartalmazza aznpmbinárisait.macOS-en és Linuxon ezt úgy érheted el, hogy a következőt hozzáadod a
~/.bash_profilevagy a~/.zshrcfájlhoz:export PATH=/usr/local/share/npm/bin:$PATHWindows alatt nyisd meg a startmenüt, és keress rá az „environment variables” kifejezésre. Szerkesztened kell a
PATHbejegyzést, és itt hozzá kell adnod aznpmbinárisainak elérési útját. Ezek általában aC:\Program Files\nodejsmappában találhatók. Ha aFile Explorer-rel megnyitod ezt a mappát, meg kell találnod anode.exe,npm.batésnpx.batfájlokat.Zárd be a nyitva lévő terminálokat, és nyiss egy újat.
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 foundHa ezt a feladat frissítése után látod, üdv az npm 7-ben. A megoldáshoz töröld a
node_modulesmappát és apackage-lock.jsonfá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
npmegy csomagkezelő, amely a Node.js-szel együtt érkezik, és amelyet a fenti lépések szerint telepítettél. Aznpmparancs egypackage.jsonfájlt keres, amely minden feladat mappájában megtalálható. Ez a fájl sorolja fel a fenti"dependencies"bejegyzéseket, amelyeket aznpmletölt, és anode_modulesmappába helyez.A
package.json-ban lévő szkriptek a helyinode_modulesmappa binárisait használják, és épp ezek a szkriptek futtatják a teszteket, ahogy az azexerciseleírásában szerepel.