| Cargo | |
|---|---|
| Basisdaten | |
| Hauptentwickler | Rust Project Developers |
| Erscheinungsjahr | 1. Februar 2014 |
| Aktuelle Version | 0.100.0 (1. Oktober 2026) |
| Betriebssystem | Plattformunabhängig |
| Programmiersprache | Rust |
| Kategorie | Paketverwaltung |
| Lizenz | MIT-Lizenz, Apache-Lizenz, Version 2.0 |
| doc.rust-lang.org/cargo | |
Cargo ist eine Paketverwaltungssoftware für Rust-Pakete, die als Crate bezeichnet werden. Cargo wird über das Rust-Toolchain-Installationsprogramm rustup standardmäßig installiert, für die Verwaltung von Paket-Metadaten greift Cargo auf das Dateiformat TOML zurück.
Cargo wird als zentrales Werkzeug für die Verwaltung von Rust-Paketen verwendet. Es übernimmt dabei für jedes Paket folgende Aufgaben:
rustc mit den passenden ParameternRust-Pakete bestehen aus einem definierten Aufbau:
Das Paketmanifest liegt in der Cargo.toml sieht beispielhaft folgendermaßen aus:
[package]
name = "hello_world"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]
[dependencies]
regex = "1"
rand = { git = "https://github.com/rust-lang-nursery/rand.git" }
lazy_static = "*"
[dev-dependencies]
mysql = "16.0.1"
Unter der Kategorie package werden grundlegende Informationen über das Paket wie Name und Version, sowie die beteiligten Autoren genannt. Die Kategorie dependencies umfasst alle Abhängigkeiten des Paketes, Kategorien wie dev-dependencies oder profile.*ermöglichen es, gesonderte Einstellungen für Tests oder ähnliche Szenarien festzulegen.
Die Datei Cargo.lock enthält die exakten Revisionsdaten der entsprechenden Abhängigkeiten und wird automatisiert von Cargo generiert und gepflegt.
| crates.io | |
| Sprachen | Englisch |
|---|---|
| Registrierung | nein, nur für den Upload eigener Crates |
| https://crates.io | |
Das offizielle Repository für Crates wird unter crates.io gehostet. Für den Upload eigener Crates wird ein GitHub-Account benötigt. Seit Rust 1.34.0 können auch alternative Repositories in Cargo eingebunden werden, hiervor war ausschließlich die Benutzung von crates.io möglich.