Rust/Installation von `rustup`, `rustc` und `cargo`
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Willkommen in der wunderbaren Welt von Rust! Wenn du programmieren lernst, bist du wie ein Erfinder oder Zauberer. Aber jeder gute Erfinder braucht Werkzeuge. Heute lernen wir das magische Triumvirat kennen: `rustup`, `rustc` und `cargo`.
Diese drei sind deine besten Freunde, wenn du tolle Computerprogramme bauen willst!
Lernziele
- rustup: Du verstehst, was der Werkzeugkasten-Manager ist und warum du ihn brauchst.
- rustc: Du lernst den "Dolmetscher" kennen, der deine Worte in Computersprache übersetzt.
- cargo: Du freundest dich mit dem Super-Baukasten an, der dir die schwerste Arbeit abnimmt.
Lektion 1: rustup – Der Werkzeug-Lieferant (Bottom-Up)
Stell dir vor: Du möchtest ein riesiges Baumhaus bauen. Dafür brauchst du Hammer, Säge und Nägel. Natürlich könntest du alles einzeln kaufen, aber es wäre viel besser, wenn dir jemand gleich den perfekten Werkzeugkasten liefert.
`rustup` ist wie ein super-schneller Lieferbote für Programmier-Werkzeuge. Wenn du `rustup` auf deinem Computer installierst, sorgt es dafür, dass du immer die neuesten und besten Rust-Werkzeuge bekommst.
- Was es macht: Es lädt `rustc` und `cargo` für dich aus dem Internet herunter und hält sie aktuell.
- Dein Befehl: Wenn du in deiner schwarzen Konsole (Terminal) `rustup update` eingibst, flitzt der Lieferbote los und bringt dir sofort neue Updates für deinen Werkzeugkasten!
Lektion 2: rustc – Der Übersetzer
Computer sind eigentlich gar nicht so schlau – sie verstehen nur "Strom an" (1) und "Strom aus" (0). Wir Menschen schreiben unsere Befehle aber in normalen Wörtern (Code). Damit der Computer deinen Code versteht, brauchst du einen Übersetzer.
`rustc` (das steht für "Rust Compiler") ist genau dieser Übersetzer. Er liest deinen Text und übersetzt ihn blitzschnell in Maschinensprache.
Ein kleines Code-Beispiel (Dein erstes Programm): Wir schreiben in eine kleine Datei namens `hallo.rs`:
fn main() {
println!("Hallo, Welt!");
}
- `fn main()` ist der Startpunkt deines Programms. Dort beginnt das Abenteuer!
- `println!` (mit Ausrufezeichen) ist der Befehl, um danach den Text auf deinem Bildschirm anzuzeigen.
Wenn du jetzt in deinem Terminal den Übersetzer startest und `rustc hallo.rs` eingibst, erschafft er ein fertiges Programm. Du kannst es direkt starten!
Lektion 3: cargo – Dein Bauleiter
Wenn dein Baumhaus immer größer wird und du von vielen Freunden Hilfe brauchst, reicht ein normaler Werkzeugkasten und Übersetzer nicht mehr. Du verlierst den Überblick! Du brauchst einen Bauleiter. Dafür gibt es `cargo`.
`cargo` nimmt dir die schwerste Arbeit ab. Er baut dir einen perfekten Bauplatz (Ordner) auf, holt alle fremden Bausteine ("Pakete" oder "crates") aus dem Internet und startet das Programm, wenn du es ihm sagst.
Wichtige Cargo-Befehle:
- `cargo new mein_projekt` – Der Bauleiter reserviert dir ein Bau-Grundstück (Ordner) mit allen Ordnern und einer frischen `main.rs` zum Starten!
- `cargo run` – Der Bauleiter baut das Programm im Hintergrund zusammen und drückt danach direkt für dich auf "Start".
- `cargo check` – Der Bauleiter schaut nur kurz über deinen Bauplan (Code) und verrät dir superschnell, ob du irgendwo einen Fehler gemacht hast (ohne es fertig zu bauen).
Eigene Mini-Projekte (Projektbasiertes Lernen)
Hier sind drei Projekte, die du nacheinander nachbauen kannst, um das Gelernte zu trainieren!
Projekt 1: Der Roboter-Übersetzer (Ohne Bauleiter)
1. Öffne einen einfachen Texteditor auf deinem Computer. 2. Schreibe ein kleines Programm und speichere es als `roboter.rs`:
fn main() {
println!("Beep-Boop! Ich bin dein kluger Roboter!");
}
3. Rufe in deiner Werkstatt (Terminal / Konsole) unseren Übersetzer: `rustc roboter.rs` 4. Starte das Programm auf dem Computer und höre, was der Roboter sagt!
Projekt 2: Die große Schiffswerft (Mit Cargo)
1. Jetzt bauen wir etwas Größeres! Nutze Cargo: `cargo new piratenschiff`. 2. Gehe in den erschaffenen Ordner: `cd piratenschiff`. 3. Gehe in den Unter-Ordner `src` und öffne dort die `main.rs`. Verändere den Hallo-Übungscode, sodass dort steht: `println!("Ahoi, wilde Piraten-Matrosen!");` 4. Lass den Bauleiter ran: `cargo run`. Das Piratenschiff sticht in See!
Projekt 3: Das Werkzeug-Pflegeprogramm
Bevor man als Programmierer weiterarbeitet, müssen die Tools glänzen! Tippe in deinem Terminal einfach das ein: `rustup update`. Schau auf dem Bildschirm, wie die neuesten Werkzeuge heruntergeladen werden. Warst du schon auf der neuesten Version oder gab es etwas Neues?
Überprüfe dein Wissen! Das große Meister-Quiz (Interleaving & Bottom-Up)
Hier ist dein ultimatives Lücken-Quiz, um zu prüfen, ob du bereit für das Rust-Abenteuer bist! Die Fragen und Themen werden hier extra stark gemischt (Interleaving), damit dein Gehirn richtig arbeitet. Fülle die Lücken aus!
<quiz display=simple> {Teil 1: Die magischen Werkzeuge & Cargo. Fülle die Lücken! |type="{}"} Um Rust zu installieren und immer up-to-date zu sein, benutzt du den Werkzeug-Manager { rustup _10 }. Er lädt die anderen wichtigen Werkzeuge automatisch für dich herunter. Eines davon ist der Übersetzer, der den Code übersetzt. In Rust heißt der Übersetzer { rustc _10 }. Wenn dein Programm aber aus richtig vielen Ordnern und Dateien besteht, nutzt du unseren Bauleiter namens { cargo _10 }. Mit dem Befehl { cargo new|cargo new _10 } erschafft dir der Bauleiter einen komplett neuen Ordner mit Start-Dateien. Wenn du möchtest, dass der Bauleiter dein Programm gleich zusammenbaut und dann ausführt, nutzt du den Befehl { cargo run|cargo run _10 }. Manchmal möchtest du nur prüfen, auf Tippfehler achten, ohne das ganze Programm zu bauen. Dann tippst du { cargo check|cargo check _10 } ein. Möchtest du in Zukunft ein fertiges Projekt nur "bauen", ohne es auszuführen, gibst du im Befehlsfenster { cargo build|cargo build _10 } ein. Das allererste Programm, das jeder Programmierer traditionell baut, zeigt oft den Text { Hallo Welt|Hallo, Welt!|Hallo, Welt _10 } an. Damit Rust weiß, worum es in deinem Projekt geht und extra-Bauteile festhält, liest Cargo seine Einkaufsliste. Diese wichtige Datei heißt { Cargo.toml _10 }. </quiz>
<quiz display=simple> {Teil 2: Programmieren & Code-Bausteine! |type="{}"} Die fremden Bausteine (Bibliotheken), die in Rust oft aus dem riesigen Internet geladen werden, nennt man auf Englisch Pakete oder auch { crates _10 }. Der zentrale Ort (die Webseite), wo es tausende dieser kostenfreien Kisten gibt, heißt { crates.io _10 }. Erstellst du ein Projekt mit Cargo, packt er den geschriebenen Programmcode immer in den Unter-Ordner namens { src _10 }. In diesem src-Ordner gibt es eine Hauptdatei, wo jedes Rust-Programm startet. Sie heißt { main.rs _10 }. Soll eine Variable in Rust erstellt werden, brauchen wir das winzige Wort { let _10 } davor. Blöcke, die eine kleine Aufgabe für dich tun, wie z.B. das Startprogramm "main", nennt man Funktionen. Sie beginnen immer mit { fn _10 }. Damit der Computer sieht, wann ein Befehl endet, setzten wir oftmals an das Zeilenende ein: { Semikolon|; _10 }. Gewöhnlichen Text drucken wir mit dem Befehl { println! _10 } auf den Bildschirm. Das Ausrufezeichen am Ende dieses Befehls verrät dir, dass es gar keine gewöhnliche Funktion ist, sondern ein so genanntes { Makro _10 }. Wenn wir uns heimliche Notizen im Code machen wollen (Kommentare), starten wir die Zeile einfach mit zwei { Schrägstrichen|// _10 }. Kann eine Variable nur den Wert "wahr" oder "falsch" besitzen, nutzt sie Rust als `bool` (Boolean). Das englische Wort für "falsch" lautet { false _10 }. </quiz>
<quiz display=simple> {Teil 3: Wahre Meister-Fragen. Kombiniere deine Fähigkeiten! |type="{}"} Wenn Cargo neue Pakete einbaut, schreibt es die ganz genauen Werkzeug-Versionsnummern in eine Sicherungs-Datei fest. Sie heißt { Cargo.lock _10 }. Eine Schleife, die immerfo= Rust für junge Entdecker: Deine magischen Werkzeuge =
Willkommen in der wunderbaren Welt von Rust! Wenn du programmieren lernst, bist du wie ein Erfinder oder Zauberer. Aber jeder gute Erfinder braucht Werkzeuge. Heute lernen wir das magische Triumvirat kennen: `rustup`, `rustc` und `cargo`.
Diese drei sind deine besten Freunde, wenn du tolle Computerprogramme bauen willst!
Lernziele
- rustup: Du verstehst, was der Werkzeugkasten-Manager ist und warum du ihn brauchst.
- rustc: Du lernst den "Dolmetscher" kennen, der deine Worte in Computersprache übersetzt.
- cargo: Du freundest dich mit dem Super-Baukasten an, der dir die schwerste Arbeit abnimmt.
Lektion 1: rustup – Der Werkzeug-Lieferant (Bottom-Up)
Stell dir vor: Du möchtest ein riesiges Baumhaus bauen. Dafür brauchst du Hammer, Säge und Nägel. Natürlich könntest du alles einzeln kaufen, aber es wäre viel besser, wenn dir jemand gleich den perfekten Werkzeugkasten liefert.
`rustup` ist wie ein super-schneller Lieferbote für Programmier-Werkzeuge. Wenn du `rustup` auf deinem Computer installierst, sorgt es dafür, dass du immer die neuesten und besten Rust-Werkzeuge bekommst.
- Was es macht: Es lädt `rustc` und `cargo` für dich aus dem Internet herunter und hält sie aktuell.
- Dein Befehl: Wenn du in deiner schwarzen Konsole (Terminal) `rustup update` eingibst, flitzt der Lieferbote los und bringt dir sofort neue Updates für deinen Werkzeugkasten!
Lektion 2: rustc – Der Übersetzer
Computer sind eigentlich gar nicht so schlau – sie verstehen nur "Strom an" (1) und "Strom aus" (0). Wir Menschen schreiben unsere Befehle aber in normalen Wörtern (Code). Damit der Computer deinen Code versteht, brauchst du einen Übersetzer.
`rustc` (das steht für "Rust Compiler") ist genau dieser Übersetzer. Er liest deinen Text und übersetzt ihn blitzschnell in Maschinensprache.
Ein kleines Code-Beispiel (Dein erstes Programm): Wir schreiben in eine kleine Datei namens `hallo.rs`:
fn main() {
println!("Hallo, Welt!");
}
- `fn main()` ist der Startpunkt deines Programms. Dort beginnt das Abenteuer!
- `println!` (mit Ausrufezeichen) ist der Befehl, um danach den Text auf deinem Bildschirm anzuzeigen.
Wenn du jetzt in deinem Terminal den Übersetzer startest und `rustc hallo.rs` eingibst, erschafft er ein fertiges Programm. Du kannst es direkt starten!
Lektion 3: cargo – Dein Bauleiter
Wenn dein Baumhaus immer größer wird und du von vielen Freunden Hilfe brauchst, reicht ein normaler Werkzeugkasten und Übersetzer nicht mehr. Du verlierst den Überblick! Du brauchst einen Bauleiter. Dafür gibt es `cargo`.
`cargo` nimmt dir die schwerste Arbeit ab. Er baut dir einen perfekten Bauplatz (Ordner) auf, holt alle fremden Bausteine ("Pakete" oder "crates") aus dem Internet und startet das Programm, wenn du es ihm sagst.
Wichtige Cargo-Befehle:
- `cargo new mein_projekt` – Der Bauleiter reserviert dir ein Bau-Grundstück (Ordner) mit allen Ordnern und einer frischen `main.rs` zum Starten!
- `cargo run` – Der Bauleiter baut das Programm im Hintergrund zusammen und drückt danach direkt für dich auf "Start".
- `cargo check` – Der Bauleiter schaut nur kurz über deinen Bauplan (Code) und verrät dir superschnell, ob du irgendwo einen Fehler gemacht hast (ohne es fertig zu bauen).
Eigene Mini-Projekte (Projektbasiertes Lernen)
Hier sind drei Projekte, die du nacheinander nachbauen kannst, um das Gelernte zu trainieren!
Projekt 1: Der Roboter-Übersetzer (Ohne Bauleiter)
1. Öffne einen einfachen Texteditor auf deinem Computer. 2. Schreibe ein kleines Programm und speichere es als `roboter.rs`:
fn main() {
println!("Beep-Boop! Ich bin dein kluger Roboter!");
}
3. Rufe in deiner Werkstatt (Terminal / Konsole) unseren Übersetzer: `rustc roboter.rs` 4. Starte das Programm auf dem Computer und höre, was der Roboter sagt!
Projekt 2: Die große Schiffswerft (Mit Cargo)
1. Jetzt bauen wir etwas Größeres! Nutze Cargo: `cargo new piratenschiff`. 2. Gehe in den erschaffenen Ordner: `cd piratenschiff`. 3. Gehe in den Unter-Ordner `src` und öffne dort die `main.rs`. Verändere den Hallo-Übungscode, sodass dort steht: `println!("Ahoi, wilde Piraten-Matrosen!");` 4. Lass den Bauleiter ran: `cargo run`. Das Piratenschiff sticht in See!
Projekt 3: Das Werkzeug-Pflegeprogramm
Bevor man als Programmierer weiterarbeitet, müssen die Tools glänzen! Tippe in deinem Terminal einfach das ein: `rustup update`. Schau auf dem Bildschirm, wie die neuesten Werkzeuge heruntergeladen werden. Warst du schon auf der neuesten Version oder gab es etwas Neues?
Überprüfe dein Wissen! Das große Meister-Quiz (Interleaving & Bottom-Up)
Hier ist dein ultimatives Lücken-Quiz, um zu prüfen, ob du bereit für das Rust-Abenteuer bist! Die Fragen und Themen werden hier extra stark gemischt (Interleaving), damit dein Gehirn richtig arbeitet. Fülle die Lücken aus!
<quiz display=simple> {Teil 1: Die magischen Werkzeuge & Cargo. Fülle die Lücken! |type="{}"} Um Rust zu installieren und immer up-to-date zu sein, benutzt du den Werkzeug-Manager { rustup _10 }. Er lädt die anderen wichtigen Werkzeuge automatisch für dich herunter. Eines davon ist der Übersetzer, der den Code übersetzt. In Rust heißt der Übersetzer { rustc _10 }. Wenn dein Programm aber aus richtig vielen Ordnern und Dateien besteht, nutzt du unseren Bauleiter namens { cargo _10 }. Mit dem Befehl { cargo new|cargo new _10 } erschafft dir der Bauleiter einen komplett neuen Ordner mit Start-Dateien. Wenn du möchtest, dass der Bauleiter dein Programm gleich zusammenbaut und dann ausführt, nutzt du den Befehl { cargo run|cargo run _10 }. Manchmal möchtest du nur prüfen, auf Tippfehler achten, ohne das ganze Programm zu bauen. Dann tippst du { cargo check|cargo check _10 } ein. Möchtest du in Zukunft ein fertiges Projekt nur "bauen", ohne es auszuführen, gibst du im Befehlsfenster { cargo build|cargo build _10 } ein. Das allererste Programm, das jeder Programmierer traditionell baut, zeigt oft den Text { Hallo Welt|Hallo, Welt!|Hallo, Welt _10 } an. Damit Rust weiß, worum es in deinem Projekt geht und extra-Bauteile festhält, liest Cargo seine Einkaufsliste. Diese wichtige Datei heißt { Cargo.toml _10 }. </quiz>
<quiz display=simple> {Teil 2: Programmieren & Code-Bausteine! |type="{}"} Die fremden Bausteine (Bibliotheken), die in Rust oft aus dem riesigen Internet geladen werden, nennt man auf Englisch Pakete oder auch { crates _10 }. Der zentrale Ort (die Webseite), wo es tausende dieser kostenfreien Kisten gibt, heißt { crates.io _10 }. Erstellst du ein Projekt mit Cargo, packt er den geschriebenen Programmcode immer in den Unter-Ordner namens { src _10 }. In diesem src-Ordner gibt es eine Hauptdatei, wo jedes Rust-Programm startet. Sie heißt { main.rs _10 }. Soll eine Variable in Rust erstellt werden, brauchen wir das winzige Wort { let _10 } davor. Blöcke, die eine kleine Aufgabe für dich tun, wie z.B. das Startprogramm "main", nennt man Funktionen. Sie beginnen immer mit { fn _10 }. Damit der Computer sieht, wann ein Befehl endet, setzten wir oftmals an das Zeilenende ein: { Semikolon|; _10 }. Gewöhnlichen Text drucken wir mit dem Befehl { println! _10 } auf den Bildschirm. Das Ausrufezeichen am Ende dieses Befehls verrät dir, dass es gar keine gewöhnliche Funktion ist, sondern ein so genanntes { Makro _10 }. Wenn wir uns heimliche Notizen im Code machen wollen (Kommentare), starten wir die Zeile einfach mit zwei { Schrägstrichen|// _10 }. Kann eine Variable nur den Wert "wahr" oder "falsch" besitzen, nutzt sie Rust als `bool` (Boolean). Das englische Wort für "falsch" lautet { false _10 }. </quiz>
<quiz display=simple> {Teil 3: Wahre Meister-Fragen. Kombiniere deine Fähigkeiten! |type="{}"} Wenn Cargo neue Pakete einbaut, schreibt es die ganz genauen Werkzeug-Versionsnummern in eine Sicherungs-Datei fest. Sie heißt { Cargo.lock _10 }. Eine Schleife, die immerfort im Kreis läuft und nie stoppt, nennt sich { loop _10 }. Erschaffst du Variablen, so sind sie im Normalfall wie in Stein gemeißelt und können direkt nicht mehr verändert werden. Man sagt sie sind { unveränderlich|immutable _10 }. Willst du den Inhalt jedoch noch ändern können, musst du Cargo und dem Übersetzer das Zauberwort { mut _10 } (für mutabel) erlauben. Das super coole Maskottchen von Rust ist ein kleiner Krebs und er heißt { Ferris _10 }. Rust und sein Übersetzer beugen strengen Fehlern vor, die besonders oft deinen Computer-{ Speicher _10 } (Memory) verstopfen oder verwirren. Schreibe den Code zu Ende: Wenn du eine Variable für die Zahl 10 erstellen möchtest, schreibst du in Rust: `let zahl = { 10 _10 };` Nachdem Cargo dein Projekt richtig rasant und fertig für die Welt (Release) gebaut hat, legt es die fertige Datei in den Bau-Ordner { target _10 } ab. Schreibst du reinen Code ohne Bauleiter, nutzt du direkt wieder den Übersetzer `rustc { main.rs|dateiname.rs _10 }`, um loszulegen. Nutzt man am Ende den Befehl { cargo build --release|cargo build --release _10 }, dann erschafft Cargo die aller-schnellste und optimierte Version deines Programms für die echten Spieler oder Nutzer. Suchst du ganz dringend Hilfe, Erklärungen oder bestimmte Befehle im Terminal, so kannst du Cargo einfach mit { cargo help|cargo --help _10 } danach fragen. Als richtiger Profi-Programmierer schreibst du außerdem automatische Test-Codes für dein Programm! Diese lässt du am Ende ganz bequem prüfen, indem du den Befehl { cargo test _10 } startest! </quiz> rt im Kreis läuft und nie stoppt, nennt sich { loop _10 }. Erschaffst du Variablen, so sind sie im Normalfall wie in Stein gemeißelt und können direkt nicht mehr verändert werden. Man sagt sie sind { unveränderlich|immutable _10 }. Willst du den Inhalt jedoch noch ändern können, musst du Cargo und dem Übersetzer das Zauberwort { mut _10 } (für mutabel) erlauben. Das super coole Maskottchen von Rust ist ein kleiner Krebs und er heißt { Ferris _10 }. Rust und sein Übersetzer beugen strengen Fehlern vor, die besonders oft deinen Computer-{ Speicher _10 } (Memory) verstopfen oder verwirren. Schreibe den Code zu Ende: Wenn du eine Variable für die Zahl 10 erstellen möchtest, schreibst du in Rust: `let zahl = { 10 _10 };` Nachdem Cargo dein Projekt richtig rasant und fertig für die Welt (Release) gebaut hat, legt es die fertige Datei in den Bau-Ordner { target _10 } ab. Schreibst du reinen Code ohne Bauleiter, nutzt du direkt wieder den Übersetzer `rustc { main.rs|dateiname.rs _10 }`, um loszulegen. Nutzt man am Ende den Befehl { cargo build --release|cargo build --release _10 }, dann erschafft Cargo die aller-schnellste und optimierte Version deines Programms für die echten Spieler oder Nutzer. Suchst du ganz dringend Hilfe, Erklärungen oder bestimmte Befehle im Terminal, so kannst du Cargo einfach mit { cargo help|cargo --help _10 } danach fragen. Als richtiger Profi-Programmierer schreibst du außerdem automatische Test-Codes für dein Programm! Diese lässt du am Ende ganz bequem prüfen, indem du den Befehl { cargo test _10 } startest! </quiz>
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).