73 lines
1.3 KiB
Plaintext
73 lines
1.3 KiB
Plaintext
---
|
|
title: Cargo
|
|
published: 2022-10-18T17:56:26+02:00
|
|
sorting: 1
|
|
slug: cargo
|
|
---
|
|
|
|
_[Link zum Buch](https://doc.rust-lang.org/book/ch01-03-hello-cargo.html)_
|
|
|
|
## Was ist Cargo?
|
|
|
|
Cargo ist Rusts package manager.<br/>
|
|
Um ein neues Cargo-Projekt zu erstellen, braucht es das folgende
|
|
Command:
|
|
|
|
```bash
|
|
$ cargo new projektname --bin
|
|
```
|
|
|
|
`--bin` sagt, dass wir ein neues Binary erstellen und keine
|
|
Bibliothek.<br/>
|
|
Es wird auch gleich `main.rs`, ein `.git`-Ordner (inkl. `.gitignore`)
|
|
und `Cargo.toml` erstellt.
|
|
|
|
## Angelegte Dateien
|
|
|
|
### Cargo.toml
|
|
|
|
Unangetastet sieht die Datei so aus:
|
|
|
|
```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.
|
|
So wie eine `package.json` in JavaScript.
|
|
|
|
### main.rs
|
|
|
|
Die Main-Datei ist mit ``Hello World'' gefüllt.
|
|
|
|
## Commands
|
|
|
|
### cargo build
|
|
|
|
```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.
|