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.
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
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:
- Nem nyitottál új terminált a telepítés után — a PATH-változó csak egy új shell-sessionben frissül.
- 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". - 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 --versionsikeresen kiír egy verziószámot. - A
rustup showmegmutatja az aktív toolchaint, és azt, hogy az astablecsatorná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 arustup showparancsokkal 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: