:experimental:
:docdatetime: 2022-06-13T13:07:27.205Z

== Cargo

Cargo ist Rusts package manager. +
Um ein neues Cargo-Projekt zu erstellen, braucht es das folgende
Command:

[source,bash]
----
$ cargo new projektname --bin
----

`--bin` sagt, dass wir ein neues Binary erstellen und keine
Bibliothek. +
Es wird auch gleich `main.rs`, ein `.git`-Ordner (inkl. `.gitignore`)
und `Cargo.toml` erstellt.

== Angelegte Datein

=== Cargo.toml

Unangetastet sieht die Datei so aus:

[source,toml]
----
[package]
name = "projektname"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]

[dependencies]
----

Hier können also Meta-Infos wie Name und Dependencies gespeichert
werden.

=== main.rs

Die Main-Datei ist mit ``Hello World'' gefüllt.

== Commands

=== cargo build

[source,bash]
----
$ cargo build
$ ./target/debug/projektname
----

Standardmäßig wird ein Debug-Build erzeugt. `cargo build --release`
erzeugt einen Release-Build.

=== cargo run

Macht einen build und führt die Datei dann aus.

=== cargo check

Checkt alles einmal durch.

=== cargo update

Updatet alle Dependencies. Allerdings nur auf die letzte Subversion der
angegebenen Version. Will man eine neue Version, muss man das manuell
angeben.
