Cargo
Cargo nedir?
Cargo, Rust’un resmi kurma ve paket aracıdır. Açık çalışma 2014’te başladı. Resmi Rust kurulumu onu rustc ile birlikte getirir. Paketler crates.io kaydında durur. Cargo.toml projenin adını ve paket listesini tutar. Cargo.lock kesin sürümü bağlar. cargo build programı kurar. cargo run kurulan programı başlatır. Rust kodunu rustc makine koduna çevirir. Cargo o adımları senin yerine sıraya koyar.
Cargo ne için kullanılır?
Cargo yeni bir Rust projesi açmak, kütüphane eklemek ve programı tek komutla kurmak içindir.
- Boş projeyi cargo new ile açmak
- Kütüphaneyi Cargo.toml içine yazmak
- Programı cargo build ile kurmak
- Testi cargo test ile çalıştırmak
Cargo ile ne yapılabilir?
Cargo ile bağımlılığı indirir, kodu denetler ve biten programı target klasörüne koyarsın. Rust dilinin kuralını değiştirmez. Hatayı derleyici söyler. Cargo o hatayı sana gösterir. Tanımadığın paket crates.io’dan gelebilir ve onun kodu senin programına karışır.
Cargo öğrenmek zor mu?
İlk projeyi açmak kolaydır. Zorluk sürüm ve kurma süresindedir. Paket başka paket de getirir. Biri senin Rust sürümünden yeniyse kurma durur. Cargo.lock dosyasını programda tutmak aynı sonuç içindir. Kütüphanede onu her sefer bağlamak aynı zorunluluk değildir. target klasörü büyür.
Avantajları ve sınırları
Avantaj: kurma, test ve paket bir komuttadır, sürüm bir dosyada durur. Sınır: ilk kurma uzun sürebilir. Cargo, rustc değildir ve pip değildir. Rust projesinin aracıdır.
Temel kavramlar
Crate paketin adıdır. Cargo.toml listedir. rustc ise kodu çeviren derleyicidir.
- cargo new proje açar
- cargo build programı kurar
- Cargo.lock sürümü tutar
- crates.io paketlerin kaydıdır
Kısa örnek
Bu komut bulunduğun klasördeki Rust projesini kurar. Kodu kendi yazmaz.
cargo build
Sık sorulan sorular
- Cargo ve Rust aynı mı? Hayır. Rust dildir. rustc derleyicidir. Cargo paketi getirir ve kurmayı sıraya koyar.
- Cargo ve pip aynı mı? İşin bir parçası benzerdir. Cargo Rust içindir ve programı da kurar. pip yalnız Python paketini kurar.
- Cargo.toml paketin kendisi mi? Hayır. O, ad ve listedir. Paketin kodu ayrı dosyadadır.