Blog

Cargo lernen - Das Build-Tool für Rust

Dennis Vriend

Aktualisiert Oktober 22, 2025
3 Minuten

Cargo ist das Build-Tool für die Programmiersprache Rust. Es lädt Ihr Projekt herunter, kompiliert und testet es. Noch wichtiger ist, dass Cargo Ihre Projektabhängigkeiten verwaltet. Cargo hat eine sehr gute Dokumentation und ist sehr zugänglich. Cargo wurde in Rust geschrieben und wird das wichtigste Tool in Ihrer Rust-Toolchain sein! Werfen wir einen genaueren Blick darauf.

Installation der Fracht

Cargo wird automatisch mit Rust installiert. Auf einem Mac können Sie Rust installieren, indem Sie Folgendes eingeben:

$ brew install rust

$ cargo --version
cargo 1.29.0 (524a578d7 2018-08-05)

Allgemeine Befehle

Cargo bietet Befehle, die Sie von einem Build-Tool erwarten würden, wie 'update', 'test', 'build' und 'run'.

$ cargo
USAGE:
    cargo [OPTIONS] [SUBCOMMAND]

    build       Compile the current project
    check       Analyze the current project and report errors, but don't build object files
    clean       Remove the target directory
    doc         Build this project's and its dependencies' documentation
    new         Create a new cargo project
    init        Create a new cargo project in an existing directory
    run         Build and execute src/main.rs
    test        Run the tests
    bench       Run the benchmarks
    update      Update dependencies listed in Cargo.lock
    search      Search registry for crates
    publish     Package and upload this project to the registry
    install     Install a Rust binary
    uninstall   Uninstall a Rust binary

Grundlegender Arbeitsablauf

Cargo verfügt über einen grundlegenden Arbeitsablauf wie das Erstellen eines neuen Projekts, das Testen des Codes, das Ausführen des Projekts und das Erstellen des Projekts zu einer statischen Binärdatei.

$ pwd
~/projects

# creating a new project
$ cargo new hello-rust
Created binary (application) `hello-rust` project
cd hello-rust

# testing
$ cargo test
Compiling hello-rust v0.1.0 (file:///Users/dennis/projects/hello-rust)
Finished dev [unoptimized + debuginfo] target(s) in 1.15s
Running target/debug/deps/hello_rust-0b720b8081218362

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

# running
$ cargo run
Compiling hello-rust v0.1.0 (file:///Users/dennis/projects/hello-rust)
Finished dev [unoptimized + debuginfo] target(s) in 2.47s
Running `target/debug/hello-rust`
Hello, world!

# building
$ cargo build
Finished dev [unoptimized + debuginfo] target(s) in 0.37s

# runnning
$ ./target/debug/hello-rust
Hello, world!

Fracht.toml

Cargo.toml beschreibt Ihr Projekt und die Abhängigkeiten. Die Datei wird von uns, den Entwicklern, bearbeitet. Um dem Projekt Abhängigkeiten hinzuzufügen, fügen Sie neue Einträge im Abschnitt package hinzu.

[package]
name = "hello-rust"
version = "0.1.0"
authors = ["dennis <dennisvriend@binx.io>"]

[dependencies]

Verwaltung von Abhängigkeiten

Cargo stellt crates.io, die zentrale Paketregistrierungsstelle, zur Verfügung, die als Ort zum Auffinden und Herunterladen von Paketen dient. Cargo ist so konfiguriert, dass es standardmäßig verwendet wird, um angeforderte Pakete zu finden.
Lassen Sie uns die Rusoto-Abhängigkeit zu unserem Projekt hinzufügen. Rusoto ist das AWS SDK für Rust.

[package]
name = "hello-rust"
version = "0.1.0"
authors = ["dennis <dennisvriend@binx.io>"]

[dependencies]
rusoto_core = "0.35.0"
rusoto_s3 = "0.35.0"

Auflistung der Eimer in unserem Konto

Lassen Sie uns die Datei src/main.rs bearbeiten:

extern crate rusoto_core;
extern crate rusoto_s3;

use rusoto_core::Region;
use rusoto_s3::{S3Client, S3};

fn main() {
    let client = S3Client::new(Region::EuWest1);
    match client.list_buckets().sync() {
        Ok(output) => {
            match output.buckets {
                Some(s3_bucket_lists) => {
                    println!("Buckets:");

                    for bucket in s3_bucket_lists {
                        println!("Name: {}, CreationDate: {}", bucket.name.unwrap_or_default(), bucket.creation_date.unwrap_or_default());
                    }
                }
                None => println!("No buckets in account!"),
            }
        }
        Err(error) => {
            println!("Error: {:?}", error);
        }
    }
}

Fazit

Cargo ist das Build- und Abhängigkeitsmanagement-Tool für die Programmiersprache Rust. Cargo bietet Funktionen zum Erstellen, Testen und Verwalten von Abhängigkeiten für Rust-Projekte. Cargo verwendet crates.io als zentrale Paketregistrierungsstelle. Cargo verwendet die Datei Cargo.toml zur Modellierung des Projekts und der Abhängigkeiten. Cargo ist sehr einfach zu bedienen und wenn Sie bereits Maven, Gradle, SBT oder Go verwendet haben, sollte Ihnen Cargo sehr vertraut sein.

Verfasst von

Dennis Vriend

Contact

Let’s discuss how we can support your journey.