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).
Hallo! Willkommen in der Werkstatt der Rust-Programmierung. Stell dir vor, du möchtest ein tolles Baumhaus bauen. Dafür brauchst du Werkzeuge: Einen Hammer, eine Säge und vielleicht einen Bauleiter, der dir hilft, alles richtig zusammenzusetzen. Beim Programmieren mit der Sprache **Rust** ist das genauso!
In diese Lektion schauen wir uns die drei wichtigsten Werkzeuge an, die du brauchst, um eigene Programme zu bauen:
- `rustup` (Der Werkzeugkasten-Manager)
- `rustc` (Der Übersetzer)
- `cargo` (Der schlaue Bauleiter)
Lernziele
Nach dieser Lektion kannst du:
- Erklären, wofür `rustup`, `rustc` und `cargo` da sind.
- Eigene Projekte mit Cargo erstellen und starten.
- Werkzeuge wie Dokumentationen und Tests selbst nutzen.
- Dein erstes eigenes kleines Programm fehlerfrei "bauen".
Lektionen
Lektion 1: `rustup` – Der Installateur und Werkzeugpfleger
Wenn du anfangen willst, musst du Rust auf deinem Computer installieren. Das macht `rustup`. Stell dir `rustup` wie einen flinken Helfer vor, der losrennt und dir genau die Rust-Werkzeuge besorgt, die du brauchst. Wenn es eine neue Version von Rust gibt, sagst du einfach `rustup update`, und der Helfer holt dir die allerneuesten und besten Werkzeuge!
- Merksatz: `rustup` sorgt dafür, dass Rust auf deinem Computer installiert und immer auf dem neuesten Stand ist.
Lektion 2: `rustc` – Der fleißige Übersetzer
Dein Computer versteht kein Deutsch, und auch keinen Rust-Code! Er versteht nur Maschinensprache (Nullen und Einsen: 010101). `rustc` (kurz für Rust Compiler) ist dein persönlicher Übersetzer. Du schreibst deinen Text in Rust, und `rustc` übersetzt ihn so, dass der Computer das Programm ausführen kann. Meistens müssen wir `rustc` gar nicht direkt benutzen, weil unser Bauleiter (Cargo) ihm die Befehle gibt!
- Merksatz: `rustc` übersetzt deinen lesbaren Code in ein echtes Computerprogramm.
Lektion 3: `cargo` – Der schlaue Bauleiter
`cargo` wird dein bester Freund! Cargo macht fast alles für dich:
- Es erstellt dir neue leere Projekte (`cargo new mein_projekt`).
- Es lädt Bauteile von anderen Programmierern herunter (sogenannte "Crates" oder "Abhängigkeiten").
- Es befiehlt dem Übersetzer (`rustc`), dein Programm zu übersetzen (`cargo build`).
- Es startet dein Programm für dich (`cargo run`).
- Merksatz: `cargo` organisiert dein Projekt und nimmt dir die meiste Arbeit ab, damit du dich auf das Entwickeln und Spielen konzentrieren kannst!
Übungen für kleine Programmierer
Beantworte diese Fragen in deinem Kopf (oder auf einem Blatt Papier):
- Welches Werkzeug brauchst du, um Rust auf die neueste Version zu aktualisieren?
- Wie heißt der Befehl, mit dem Cargo ein neues Projekt für dich anlegt?
- Warum können wir nicht unsere Rust-Dateien einfach direkt speichern und dem Computer sagen: "Los, mach!"? Welches Werkzeug fehlt dann?
50 Mini-Projekte (Projektbasiertes Lernen)
Hier sind 50 schnelle Mini-Projekte. Die ersten dauern nur Sekunden, spätere dauern ein paar Minuten. Probier sie alle aus, um ein richtiger Cargo-Meister zu werden!
- Das Versions-Geheimnis: Tippe `cargo --version` ins Terminal, um zu sehen, welche Version der Bauleiter hat.
- Der Übersetzer-Check: Tippe `rustc --version` ein.
- Der Helfer-Check: Tippe `rustup --version` ein.
- Dein erstes Baumhaus: Erstelle ein Projekt mit `cargo new baumhaus`.
- Der Schnellstart: Gehe in den Ordner (`cd baumhaus`) und tippe `cargo run`.
- Der vorsichtige Prüfer: Nutze `cargo check` (Prüft auf Fehler, ohne das Programm ganz aufzubauen).
- Großes Aufräumen: Tippe `cargo clean`, um alle gebauten Sachen zu löschen (mach danach nochmal `cargo run`).
- Das offline Handbuch: Gib `rustup doc` ein, um das Rust-Handbuch in deinem Browser zu öffnen!
- Zweite Bibliothek: Erstelle ein Werkzeug-Projekt für andere mit `cargo new werkzeuge --lib`.
- Bauen ohne Starten: Nutze `cargo build` in deinem Baumhaus-Projekt.
- Die Suche: Gib `cargo search rand` ein, um fremde Code-Pakete ("Crates") für Zufallszahlen zu finden.
- Hilfe gesucht: Tippe `cargo help` um alle Befehle von Cargo zu sehen.
- Mehr Hilfe: Tippe `cargo help run`, um zu sehen, was "run" alles kann.
- Der Handwerker-Code: Nutze `cargo fmt` um deinen Code superschön und ordentlich formatieren zu lassen.
- Die kluge Büroklammer: Nutze `cargo clippy`, Cargo gibt dir Tipps, wie dein Code noch besser wird!
- Zukunftswerkzeug: Tippe `rustup install nightly` (lädt die Beta-Testversion von Rust herunter).
- Der Werkzeugwechsel: Tippe `rustup default nightly`, um die Testversion auszuprobieren.
- Sicher ist sicher: Tippe `rustup default stable`, um zur normalen stabilen Version zurückzukehren.
- Zeig mir alles: Tippe `rustup show`, um zu sehen, welche Werkzeuge gerade genau benutzt werden.
- Wo bin ich: Gib `rustup which rustc` ein, um zu sehen, auf welchem Ordner der Übersetzer wohnt.
- Der blitzschnelle Rennwagen: Baue dein Programm extra schnell mit `cargo build --release`.
- Das Versteck: Finde im Dateiexplorer den Ordner `target/release`. Dort ist dein fertiges Programm!
- Abhängigkeit zufügen: Tippe `cargo add rand` um eine Zufallsfabrik in dein Projekt zu laden.
- Die Baupläne lesen: Schaue dir die Datei `Cargo.toml` an. Siehst du das Wort "rand" dort?
- Alles aktualisieren: Benutze `cargo update`, um die neuesten Pakete aus dem Internet zu laden.
- Der rohe Übersetzer: Erstelle ganz ohne Cargo eine Datei `hallo.rs` auf dem Desktop.
- Handarbeit: Tippe `rustc hallo.rs`.
- Handarbeit starten: Führe das entstandene Programm aus (unter Windows: `hallo.exe`, unter Linux/Mac `./hallo`).
- Baum-Struktur: Nutze den Befehl `cargo tree`, um alle eingebauten Pakete als coolen Baum zu sehen.
- Tests ausführen: Gib `cargo test` in deinem Projekt ein. Er wird sagen "0 Tests".
- Den Computer kaputt machen: Mache absichtlich einen Tippfehler in `src/main.rs` und starte `cargo build`. Schau dir die rote Fehlermeldung an!
- Fehler reparieren: Repariere den Fehler wieder und sei stolz, wenn es wieder grün ist.
- Das Standard-Buch: Tippe `rustup doc --book`, um das offizielle Handbuch direkt zu öffnen.
- Die Bibliothek-Doku: Tippe `rustup doc --std`, um das Wörterbuch aller Rust-Befehle zu öffnen.
- Das Init-Geheimnis: Erstelle einen leeren Ordner, gehe hinein und tippe `cargo init` (anstatt `new`).
- Deine eigene Doku: Schreibe `/// Hallo` in deinen Code und tippe `cargo doc --open`. Cargo baut dir eine Website!
- Internet kaputt: Schalte dein WLAN/Internet aus und probiere `cargo build --offline`.
- Der Pfad-Erkunder: Schaue dir den `src/` Ordner an. Was ist der Unterschied zur `Cargo.toml` Datei?
- Projekt umbenennen: Ändere den Namen in der `Cargo.toml` manuell zu "superhaus" und baue es neu.
- Zweite Startdatei: Lege einen Ordner `src/bin` an, tue eine `zweites.rs` hinein und probiere `cargo run --bin zweites`.
- Ein neuer Account: Gehe auf `crates.io` im Browser. Da holt Cargo seine Bausteine her.
- Ein Beispielprojekt: Lege einen `examples` Ordner an und starte etwas mit `cargo run --example`.
- Lies die Lock-Datei: Öffne die `Cargo.lock` Datei. Staune über die vielen Zeilen (und ändere nichts daran!).
- Neuer Workspace: Erstelle das Wort `[workspace]` in einer ganz neuen `Cargo.toml`.
- Komponentenliste: Finde heraus, was `rustup component list` ausgibt.
- Alte Version checken: Versuche `rustup install 1.60.0`, um eine ganz alte Rust-Version herbeizuzaubern.
- Lokal überschreiben: Setze im Projektordner `rustup override set 1.60.0` ein.
- Zurück zum Standard: Nutze `rustup override unset`.
- Das Cargo Login: Gib `cargo login` ein. Er wird nach einem Token fragen (brich mit STRG+C ab).
- Alles up to date: Gib noch einmal fröhlich `rustup update` ein, zum Abschluss!
10 Große Projekte (Top-Down-Lernen)
Jetzt schnappen wir uns die Werkzeuge und machen 10 richtig coole, größere Projekte.
1. Text-Adventure: "Die Höhle des Cargo"
Erstelle mit `cargo new hoehle` ein Text-Abenteuer. Lass dir vom Computer mit `println!` Sätze ausgeben. Führe das Abenteuer mit `cargo run` aus.
- Fokus: Lernen, wie man Projekte startet und Dateien ausführt.
2. Der Zahlen-Rater (mit fremden Paketen)
Baue das "Zahlen-Raten" Spiel aus dem Rust-Buch. Füge mit `cargo add rand` ein Modul hinzu, welches sich Zufallszahlen ausdenkt.
- Fokus: Andere "Crates" in die `Cargo.toml` einbinden und nutzen.
3. Die Bücher-Wand (Cargo Doc)
Erstelle eine Bibliothek mit `cargo new buecherei --lib`. Schreibe viele Kommentare, die mit `///` beginnen. Danach führe `cargo doc --open` aus und bestaune deine eigene, selbst-generierte professionelle Webseite.
- Fokus: Kennenlernen des automatischen HTML-Dokumentations-Werkzeugs von Cargo.
4. Zwei Spiele in einem (Der Cargo Workspace)
Anstatt für jedes Spiel einen neuen Ordner tief irgendwohin zu stecken, erstellst du einen "Workspace". In einer Haupt-`Cargo.toml` verwaltest du ein "Tic-Tac-Toe" und ein "Schere-Stein-Papier".
- Fokus: Große Projektstrukturen für Fortgeschrittene bändigen.
5. Der kleine Roboter-Prüfer (Cargo Test)
Schreibe ein Mathe-Hilfs-Programm (das plus und minus rechnet). Ganz unten schreibst du so genannte "Tests" (kleine Mini-Roboter), die prüfen ob 1+1 wirklich 2 ist. Führe alle Tests mit `cargo test` aus.
- Fokus: Automatisierte Tests ausführen.
6. Die Zeitmaschine (Rustup Toolchains)
Dein Code von heute funktioniert wunderbar. Aber was ist, wenn du probieren willst, ob er auch noch in einer richtig alten Rust-Version aus dem Jahr 2020 läuft? Lerne, wie du mit `rustup` zwischen neuen und alten Compilern durch die Zeit springst!
- Fokus: Die Macht von `rustup` verstehen.
7. Das Geschwindigkeits-Wettrennen (Release Mode)
Schreibe ein kleines Programm, das von 1 bis 1 Milliarde zählt und dabei Sekunden misst. Das dauert mit `cargo run` erstaunlich lang. Starte es danach mit `cargo run --release` und staune, wie unfassbar schnell Rust wird!
- Fokus: Den Unterschied zwischen "Debug" (Entwickeln) und "Release" (Fertigmachen) lernen.
8. Der Perfekte-Code-Polizist (Clippy & Fmt)
Schreibe absichtlich komplett chaotischen Code. Zitate an den falschen Stellen, alles in eine Zeile und benutze veraltete Schreibweisen. Nutze danach `cargo fmt` und `cargo clippy`. Das sind deine Polizisten, die automatisch alles für dich auf Hochglanz polieren!
- Fokus: Sauberen Code für Profis erzeugen.
9. Der Bunker (Offline Coden)
Erstelle ein neues Spiel, das Dinge ausgeben soll. Lade ein paar Coole Crates (wie "colored" für farbige Texte) herunter (`cargo fetch`). Danach ziehst du den Internet-Stecker und musst versuchen, dein Spiel komplett offline fertigzustellen! Nutze dafür `cargo build --offline` und `rustup doc`.
- Fokus: Ohne Internet programmieren, wenn man mal im Zug sitzt.
10. Dein eigenes Crate (Cargo Publish)
Du hast ein richtig tolles Werkzeug in Rust gebaut. Nun möchtest du es mit der ganzen Welt teilen! Du lernst, wie du dich auf der Website `crates.io` anmeldest, wie `cargo login` funktioniert und was passiert, wenn du `cargo publish` eintippen würdest, um dein Paket offiziell ins weite Internet zu schicken.
- Fokus: Ein eigenes Open-Source Paket vorbereiten.
Viel Spaß auf deiner Reise mit dem Installateur `rustup`, dem Übersetzer `rustc` und dem besten Bauleiter der Welt: `cargo`!
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).