Szukaj…


Wprowadzenie

Cargo jest menedżerem pakietów Rust, używanym do zarządzania skrzyniami (termin Rust dla bibliotek / pakietów). Cargo głównie pobiera pakiety z crates.io i może zarządzać złożonymi drzewami zależności o określonych wymaganiach dotyczących wersji (przy użyciu wersji semantycznej). Cargo może także pomagać w budowie, uruchamianiu i zarządzaniu projektami Rust z cargo build cargo run cargo test i cargo test (wśród innych przydatnych poleceń).

Składnia

  • ładunek nowa skrzynia_nazwa [--bin]
  • ładunek init [--bin]
  • kompilacja ładunku [--release]
  • przejazd ładunków [--release]
  • kontrola ładunku
  • test ładunku
  • ławka ładunkowa
  • aktualizacja ładunku
  • pakiet ładunkowy
  • opublikować ładunek
  • cargo [un] zainstaluj binary_crate_name
  • wyszukiwanie ładunku skrzynia_nazwa
  • wersja cargo
  • login ładunku api_key

Uwagi

  • W tej chwili podkomenda cargo bench wymaga efektywnej pracy nocnej wersji kompilatora.

Utwórz nowy projekt

Biblioteka

cargo new my-library

Spowoduje to utworzenie nowego katalogu o nazwie my-library zawierającego plik konfiguracyjny cargo i katalog źródłowy zawierający pojedynczy plik źródłowy Rust:

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

Te dwa pliki będą już zawierały podstawowy szkielet biblioteki, dzięki czemu możesz od razu wykonać cargo test (z katalogu my-library ), aby sprawdzić, czy wszystko działa.

Dwójkowy

cargo new my-binary --bin

Spowoduje to utworzenie nowego katalogu o nazwie my-binary o strukturze podobnej do biblioteki:

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

Tym razem cargo skonfiguruje prosty plik binarny Hello World, który możemy uruchomić od razu z cargo run .


Możesz także utworzyć nowy projekt w bieżącym katalogu za pomocą komendy init :

cargo init --bin

Podobnie jak powyżej, usuń flagę --bin aby utworzyć nowy projekt biblioteki. Nazwa bieżącego folderu jest automatycznie używana jako nazwa skrzynki.

Zbuduj projekt

Odpluskwić

cargo build

Wydanie

Budowanie z flagą --release umożliwia pewne optymalizacje kompilatora, które nie są wykonywane podczas budowania kompilacji debugowania. Dzięki temu kod działa szybciej, ale czas kompilacji jest nieco dłuższy. Aby uzyskać optymalną wydajność, tego polecenia należy użyć, gdy kompilacja wydania jest gotowa.

cargo build --release

Uruchamianie testów

Podstawowe użycie

cargo test

Pokaż wyjście programu

cargo test -- --nocapture

Uruchom konkretny przykład

cargo test test_name

Witaj, świecie

To jest sesja powłoki pokazująca, jak stworzyć program „Hello world” i uruchomić go z Cargo:

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

Po wykonaniu tej czynności możesz edytować program, otwierając src/main.rs w edytorze tekstu.

Publikowanie skrzynki

Aby opublikować skrzynkę na crates.io , musisz zalogować się za pomocą Cargo (patrz „ Podłączanie ładunku do konta Crates.io ”).

Możesz spakować i opublikować swoją skrzynię za pomocą następujących poleceń:

cargo package
cargo publish

Wszelkie błędy w pliku Cargo.toml zostaną podświetlone podczas tego procesu. Należy upewnić się, że aktualną wersję i upewnić się, że .gitignore lub Cargo.toml wyklucza plików niepotrzebnych plików.

Łączenie ładunku z kontem Crates.io

Konta na crates.io są tworzone przez zalogowanie się w GitHub; nie możesz zarejestrować się za pomocą innej metody.

Aby połączyć konto GitHub z crates.io, kliknij przycisk „ Zaloguj się za pomocą GitHub ” na górnym pasku menu i autoryzuj crates.io, aby uzyskać dostęp do konta. Spowoduje to zalogowanie się do crates.io, zakładając, że wszystko poszło dobrze.

Następnie musisz znaleźć swój klucz API , który można znaleźć, klikając awatar, przechodząc do „ Ustawień konta ” i kopiując linię, która wygląda następująco:

cargo login abcdefghijklmnopqrstuvwxyz1234567890rust

Należy to wkleić w terminalu / linii poleceń i uwierzytelnić w lokalnej instalacji cargo .

Uważaj na swój klucz API - musi być trzymany w tajemnicy, jak hasło, w przeciwnym razie twoje skrzynki mogą zostać porwane!



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow