Miért kezdjük itt?

A Rust világába a legelső technikai lépés az, hogy magára a fordítóra és a hozzá tartozó eszközökre szert tegyünk. Ez az útvonal első leckéje, tehát semmit nem feltételezünk: onnan indulunk, hogy a gépeden még semmilyen Rust-eszköz nincs telepítve. A cél itt nem az, hogy Rust kódot írj — arra a következő leckében kerül sor —, hanem hogy a toolchaint megbízhatóan, a hivatalos módon telepítsd, és megértsd, mi micsoda a telepített eszközök között.

Mi az a rustup?

A rustup egy kis parancssori segédprogram, ami magát a Rust fordítót és a köré épülő eszközkészletet (a "toolchaint") telepíti, frissíti és kezeli a gépeden. Nem maga a fordító — a rustup egy vezérlő réteg, ami letölti, telepíti és aktívan tartja a megfelelő toolchain-verziót, és gondoskodik arról, hogy az elérhető legyen a parancssorból.

Miért ne közvetlenül a rendszer csomagkezelőjén (apt, brew stb.) keresztül telepítsünk Rust-ot? Mert a Rust nagyon gyors ütemben ad ki új stabil verziókat, és a csomagkezelős verziók gyakran elavultak, illetve nehezebb közöttük váltani. A rustup-pal bármikor egyetlen paranccsal frissíthetsz, válthatsz csatornát, vagy telepíthetsz párhuzamosan több verziót is.

Linux és macOS alatt a telepítés egy rövid szkript lefuttatásával történik:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Windows alatt a hivatalos oldalról letöltött rustup-init.exe telepítőt kell futtatni, ami ugyanezt a folyamatot indítja el, grafikus párbeszédpanel helyett parancssori kérdésekkel. Mindkét esetben a telepítő megkérdezi, hogy az alapértelmezett beállításokkal szeretnéd-e folytatni — kezdőként ez a helyes választás.

Megjegyzés

Windows alatt a Rust fordításhoz szükséged lesz egy C/C++ linkerre is, amit a Visual Studio Build Tools telepít. A rustup telepítő jelzi, ha ez hiányzik, és linket is ad a letöltéshez.

A telepítés után nyiss egy új terminált, hogy a PATH környezeti változó tartalmazza a rustup által telepített eszközök helyét — a régi, már megnyitott terminálban még nem biztos, hogy működni fog.

Toolchain és csatornák

A "toolchain" kifejezés a Rust fordítóprogramot (rustc), a szabványos könyvtárat és a hozzá tartozó kiegészítő eszközöket jelenti, mindezt egyben, egy konkrét verzióhoz és célplatformhoz kötve. A rustup egyszerre több toolchaint is tud tárolni a gépeden, és bármikor válthatsz köztük.

A Rust fejlesztése három párhuzamos "csatornán" (channel) zajlik:

  • stable — a hivatalos, kiadott, stabil verzió. Kb. 6 hetente jelenik meg új stabil kiadás, és ami egyszer stabil lett, az utána mindig visszafelé kompatibilis marad.
  • beta — a következő stabil kiadás előnézete, teszteléshez.
  • nightly — napi build, ide kerülnek be először az új, kísérleti nyelvi feature-ök.

Kezdőként — és valójában a legtöbb éles projektben is — a stabil csatornát használjuk. Ez garantálja, hogy a kód, amit ma megírsz, később is ugyanúgy fordul, és nem kell kísérleti, esetleg instabil viselkedésekkel foglalkoznod. A rustup alapértelmezésben a stabil csatornát telepíti.

Megnézheted, milyen toolchain-ek vannak nálad telepítve, és melyik az alapértelmezett:

rustup toolchain list
rustup default stable
Tipp

Ha egyszer véletlenül átváltanál nightly-ra, ugyanezzel a rustup default stable paranccsal bármikor visszaválthatsz a stabil csatornára.

A rustc ellenőrzése

A rustc a Rust fordító parancssori programja — ő fordítja a .rs forrásfájlokat futtatható programmá. Nem közvetlenül őt fogjuk a napi munkánk során hívni (arra a következő leckében megismert eszköz szolgál majd), de érdemes tudni, hogy a rustc az a "motor", amit a rustup a háttérben telepít és kezel.

A telepítés sikerességét úgy ellenőrzöd, hogy lekéred a fordító verziószámát:

rustc --version

Sikeres telepítés esetén valami ehhez hasonlót kell látnod:

rustc 1.96.0 (a1b2c3d4e 2025-01-15)

Ha ehelyett a terminál azt írja ki, hogy a parancs nem található, az telepítési vagy PATH-hibára utal — ezt a következő szakaszban nézzük meg.

Gyakori hibák és ellenőrzőlista

A leggyakoribb probléma, amivel kezdők szembesülnek, az, hogy a telepítés után a rustc parancs "ismeretlen":

rustc: command not found

Ennek tipikus okai:

  1. Nem nyitottál új terminált a telepítés után — a PATH-változó csak egy új shell-sessionben frissül.
  2. A shell-konfigurációs fájl (pl. .bashrc, .zshrc) nem lett újra betöltve — próbáld meg kézzel: source "$HOME/.cargo/env".
  3. Windows alatt hiányzik a linker — a rustup telepítő ilyenkor figyelmeztet, és érdemes telepíteni a Visual Studio Build Tools "C++ build tools" komponensét.

Röviden összefoglalva egy ellenőrzőlista, amit érdemes végigfutni a telepítés után:

  • A rustc --version sikeresen kiír egy verziószámot.
  • A rustup show megmutatja az aktív toolchaint, és azt, hogy az a stable csatornáról származik.
  • Egy új terminálban is működik a fenti két parancs (nem csak abban, amelyikben telepítettél).

Próbáld ki!

Telepítsd a rustupot a saját gépedre a fenti módon, majd nyiss egy friss terminált, és futtasd le egymás után a rustc --version és a rustup show parancsokat. Figyeld meg, hogy a rustup show kiírja-e, hogy az aktív toolchain a stable csatornáról való — ha igen, készen állsz a következő lecke gyakorlataira.

Önellenőrzés

Mi a feladata a rustupnak, és miben különbözik attól, ha közvetlenül a rendszer csomagkezelőjével (pl. apt vagy brew) telepítenéd a Rustot?

Megoldás A rustup nem maga a fordító, hanem egy toolchain-kezelő eszköz: telepíti, frissíti és váltja a Rust fordítót (rustc) és a hozzá tartozó eszközöket, csatornánként (stable/beta/nightly) és verziónként. A csomagkezelős telepítés ezzel szemben egy rögzített, gyakran elavult verziót ad, és nehezebb köztük váltani vagy frissíteni.

Mi a különbség a rustup és a rustc között?

Megoldás A `rustc` a tényleges fordítóprogram, ami a `.rs` fájlokat futtatható kóddá alakítja. A `rustup` egy magasabb szintű eszköz, ami a `rustc`-t (és a hozzá tartozó egyéb eszközöket) telepíti, frissíti, és a csatornák közötti váltást kezeli.

Miért ajánlott a stabil csatornát választani kezdőként, és mikor lehetne mégis szükség a beta vagy nightly csatornára?

Megoldás A stabil csatorna garantáltan visszafelé kompatibilis és megbízhatóan fordul, így a kezdő tanuláshoz és éles projektekhez is ez az ideális választás. A beta/nightly csatornákra jellemzően csak akkor van szükség, ha kísérleti, még nem stabilizált nyelvi feature-t szeretnél kipróbálni, vagy a Rust fejlesztésének teszteléséhez szeretnél hozzájárulni.

Összefoglalás és mi jön legközelebb

  • A rustup a Rust hivatalos toolchain-kezelője: ő telepíti, frissíti és váltja a fordítót és a hozzá tartozó eszközöket.
  • A "toolchain" a fordító (rustc), a szabványos könyvtár és a kiegészítő eszközök egy konkrét verzióhoz kötött együttese.
  • Három csatorna létezik: stable, beta, nightly — kezdőként (és a legtöbb éles projektben) a stabil csatornát használjuk.
  • A rustc --version és a rustup show parancsokkal ellenőrizheted, hogy sikeres volt-e a telepítés, és melyik toolchain aktív.
  • A következő leckében megismerjük azt a parancssori eszközt, amivel projekteket hozunk létre, fordítunk, futtatunk és tesztelünk — innentől már valódi Rust-kódot is írunk.

További olvasmány: