Suche…


Einführung

Cargo ist der Paketmanager von Rust, der zur Verwaltung von Kisten (Rusts Begriff für Bibliotheken / Pakete) verwendet wird. Cargo holt überwiegend Pakete von crates.io ab und kann komplexe Abhängigkeitsbäume mit spezifischen Versionsanforderungen verwalten (mittels semantischer Versionierung). Cargo kann auch beim Erstellen, Ausführen und Verwalten von Rust-Projekten helfen, darunter cargo build , cargo run und cargo test (unter anderem nützliche Befehle).

Syntax

  • cargo neuer kastenname [--bin]
  • cargo init [--bin]
  • Frachtaufbau [--release]
  • Frachtlauf [--release]
  • Frachtcheck
  • Ladungstest
  • Frachtbank
  • Ladungsaktualisierung
  • Frachtpaket
  • Ladung veröffentlichen
  • cargo [un] installiere binary_crate_name
  • Ladungssuche kartenname
  • Frachtversion
  • cargo login api_key

Bemerkungen

  • Im Moment der cargo bench erfordert subcommand die nächtliche Version des Compilers um effektiv zu arbeiten.

Neues Projekt erstellen

Bibliothek

cargo new my-library

Dadurch wird ein neues Verzeichnis namens my-library das die Cargo-Konfigurationsdatei und ein Quellverzeichnis mit einer einzigen Rust-Quelldatei enthält:

my-library/Cargo.toml
my-library/src/lib.rs

Diese beiden Dateien enthalten bereits das Grundgerüst einer Bibliothek, so dass Sie sofort einen cargo test (aus my-library ) durchführen können, um zu überprüfen, ob alles funktioniert.

Binär

cargo new my-binary --bin

Dadurch wird ein neues Verzeichnis namens my-binary mit einer ähnlichen Struktur wie eine Bibliothek erstellt:

my-binary/Cargo.toml
my-binary/src/main.rs

Diesmal hat cargo eine einfache Hello World-Binärdatei eingerichtet, die wir sofort mit dem cargo run .


Sie können das neue Projekt auch mit dem Unterbefehl init im aktuellen Verzeichnis erstellen:

cargo init --bin

Entfernen --bin wie oben das Flag --bin , um ein neues Bibliotheksprojekt zu erstellen. Der Name des aktuellen Ordners wird automatisch als Name der Box verwendet.

Projekt erstellen

Debuggen

cargo build

Veröffentlichung

Das --release mit dem Flag --release ermöglicht bestimmte Compiler-Optimierungen, die beim --release nicht ausgeführt werden. Dadurch wird der Code schneller ausgeführt, die Kompilierzeit wird jedoch auch etwas länger. Für eine optimale Leistung sollte dieser Befehl verwendet werden, sobald ein Release-Build bereit ist.

cargo build --release

Laufende Tests

Grundlegende Verwendung

cargo test

Programmausgabe anzeigen

cargo test -- --nocapture

Spezifisches Beispiel ausführen

cargo test test_name

Hallo Weltprogramm

Dies ist eine Shell-Session, die zeigt, wie man ein "Hallo Welt" -Programm erstellt und mit Cargo ausführt:

$ cargo new hello --bin
$ cd hello
$ cargo run
   Compiling hello v0.1.0 (file:///home/rust/hello)
     Running `target/debug/hello`
Hello, world!

Danach können Sie das Programm bearbeiten, indem Sie src/main.rs in einem Texteditor src/main.rs .

Eine Kiste veröffentlichen

Um eine Kiste auf crates.io zu veröffentlichen , müssen Sie sich bei Cargo anmelden (siehe ' Verbinden von Fracht mit einem Crates.io-Konto ').

Sie können Ihre Kiste mit den folgenden Befehlen verpacken und veröffentlichen:

cargo package
cargo publish

Fehler in Ihrer Cargo.toml Datei werden während dieses Vorgangs hervorgehoben. Sie sollten sicherstellen, dass Sie Ihre Version aktualisieren, und sicherstellen, dass Ihre .gitignore oder Cargo.toml Datei unerwünschte Dateien ausschließt.

Fracht mit einem Crates.io-Konto verbinden

Konten auf crates.io werden erstellt, indem Sie sich bei GitHub anmelden. Sie können sich mit keiner anderen Methode anmelden.

Um Ihr GitHub-Konto mit crates.io zu verbinden, klicken Sie in der oberen Menüleiste auf die Schaltfläche " Login with GitHub " und berechtigen Sie crates.io zum Zugriff auf Ihr Konto. Dann melden Sie sich bei crates.io an, vorausgesetzt alles lief gut.

Sie müssen dann Ihren API-Schlüssel finden , den Sie finden, indem Sie auf Ihren Avatar klicken, zu " Kontoeinstellungen " gehen und die folgende Zeile kopieren:

cargo login abcdefghijklmnopqrstuvwxyz1234567890rust

Dies sollte in Ihre Terminal- / Befehlszeile eingefügt werden und Sie sollten sich bei Ihrer lokalen cargo authentifizieren.

Seien Sie vorsichtig mit Ihrem API-Schlüssel - er muss wie ein Kennwort geheim gehalten werden, andernfalls könnten Ihre Kisten gekapert werden!



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow