Cargo

Zuerst erstellen wir ein Standardprojekt für eine Applikation

cargo new my-simple-project

cargo erstellt uns dann folgende Dateien

  • Cargo.toml # Projektbeschreibung mit all seinen Abhängigkeiten
  • src/main.rs # Unser erstes Programm

Dann können wir das Projekt auch sofort bauen

cd my-simple-project
cargo build

und auch starten

cargo run

Das Result sollte dann so aussehen

Hello, world!

Die optimierte Variante wird wie folgt erstellt:

cargo build --release

Die Cargo.toml

Die Cargo.toml verwaltet grundsätzliche Dinge zum Projekt, wie:

  • Projektdefintion selbst
    • Name
    • Beschreibung
    • Version
    • Rust-Version
    • Links zum Repository
    • Veröffentlichungsregeln
  • Paketabhängigkeiten
    • Versionen
    • Features
    • Lokale Quellverzeichnisse / Git Repositories
  • Unterprojekte

Für unser erstes Projekt ist dies noch recht klein:

[package]
name = "my-simple-project"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

Wird ein Build erzeugt, werden die abhängigen crate Versionen in der Cargo.lock festgehalten. Es wird generell empfohlen Versionen zu pinnen.

Die Cargo.toml zu diesem Projekt ist dann etwas komplexer.

Die komplette Referenz, könnt ihr auf der cargo-Dokumentationseite finden.

Cargo für Rust Programme

cargo kann nicht nur verwendet werden, um Rust Projekte zu erstellen und zu bauen. Es kann auch dazu verwendet werden, um Applikationen zu installieren.

Beispielsweise um dieses Tutorial wurde mdbook verwendet, was mittels

cargo install mdbook

installiert wurde. Die fertige Anwendung wird dann standardmäßig in ~/.cargo/bin abgelegt.