Cargo auf die neueste Version aktualisieren: Tutorial für Rust-Entwickler

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum Ihr Cargo veraltet sein könnte?



Haben Sie jemals cargo build ausgeführt und als Antwort eine seltsame Fehlermeldung erhalten? Oder funktioniert eine neue Rust-Funktion, auf die Sie so gewartet haben, einfach nicht? Eine vertraute Situation: Sie öffnen Stack Overflow, suchen nach einer Lösung, und dort wird empfohlen, Cargo zu aktualisieren. Aber wie macht man das? Denn in Rust gibt es keinen Befehl cargo update --self (und ehrlich gesagt, das wäre zu einfach).



In diesem Artikel analysieren wir eine echte Frage mit tausenden Aufrufen: "Is there a command to update Cargo to the latest official release?". Wir geben nicht nur einen trockenen Befehl – wir gehen den Weg vom Problem zur Lösung, mit Codebeispielen, Lifehacks und typischen Fehlern. Wenn Sie seit mindestens einer Woche in Rust programmieren, spart Ihnen diese Information stundenlanges Googeln.



Los geht's! 🚀



Was ist Cargo und warum muss man es aktualisieren?



Cargo ist nicht nur ein Paketmanager. Es ist das Herz des Rust-Ökosystems. Es ist verantwortlich für das Bauen, Testen, Veröffentlichen von Crates und natürlich für die Verwaltung von Abhängigkeiten. Jede neue Cargo-Version bringt Verbesserungen: schnellere Kompilierung, neue Befehle, Sicherheitskorrekturen.



Zum Beispiel erschien in Cargo Version 1.70 die integrierte Unterstützung für cargo info, und in Version 1.75 eine verbesserte Fehlerausgabe. Wenn Sie auf einer alten Version feststecken, erhalten Sie diese Funktionen einfach nicht. Darüber hinaus beginnen einige Crates, eine aktuelle Cargo-Version zu verlangen, und Ihr Projekt lässt sich nicht mehr bauen.



Es gibt jedoch einen Haken: Cargo aktualisiert sich nicht von selbst. Es ist an den Compiler rustc gebunden, und dieser an das Tool Rustup. Merken Sie sich diese Verkettung: Rustup → rustc → Cargo. Wenn Sie eines aktualisieren, aktualisieren Sie alles.



Warum gibt es keinen Befehl cargo update --self?



Dies ist eine häufige Frage auf Stack Overflow. Der Grund ist, dass Cargo kein separates Programm ist, sondern Teil des Rust-Pakets. Wenn Sie Rust über Rustup installieren, erhalten Sie rustc, cargo und andere Dienstprogramme in einer Version. Daher existiert der Befehl cargo update, aber er aktualisiert die Abhängigkeiten Ihres Projekts, nicht Cargo selbst.



Hier ist ein typischer Anfängerfehler:



# Dies wird Cargo NICHT aktualisierencargo update# Dies aktualisiert nur die Abhängigkeiten in Cargo.lock


Um Cargo selbst zu aktualisieren, ist ein anderer Ansatz erforderlich. Und der ist einfach – verwenden Sie Rustup.



Die Hauptmethode: Aktualisierung über Rustup



Rustup ist der offizielle Installer und Versionsmanager für Rust. Wenn Sie Rust über rustup.rs installiert haben, haben Sie dieses Tool bereits. Wenn nicht, ist es höchste Zeit, es zu installieren:



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


Überprüfen Sie nach der Installation die aktuelle Version:



rustc --versioncargo --version


Führen Sie nun den folgenden Befehl aus, um alles auf die neueste stabile Version zu aktualisieren:



rustup update


Dieser Befehl aktualisiert rustc, cargo und alle zugehörigen Tools auf die neueste stabile Version. Die Ausgabe sieht in etwa so aus:



info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'info: latest update on 2024-01-25, rust version 1.75.0 (8e3999b4e 2024-01-25)info: downloading component 'cargo'info: installing component 'cargo'


Fertig! Jetzt haben Sie die neueste Cargo-Version.



Überprüfung nach der Aktualisierung



Es ist immer gut, sicherzustellen, dass die Aktualisierung erfolgreich war. Schreiben Sie ein einfaches Rust-Programm und bauen Sie es:



// main.rsfn main() {    println!("Cargo version: {}", env!("CARGO_PKG_VERSION"));        // Überprüfen, ob die neue Funktion funktioniert    #[cfg(version_ge(1, 75))]    println!("Sie verwenden Cargo 1.75+!");}


Bauen und starten Sie es:



cargo run


Wenn alles funktioniert, sind Sie startklar. Wenn nicht, lies

Blogs

Buchempfehlungen