Bağımlılıkları Paketlerle Yönetme
Cargo'nun harici paketleri (kütüphaneleri) nasıl yönettiğini ve topluluğun kullanımı için kendi paketlerinizi nasıl yayımlayacağınızı öğrenin.
Bağımlılıkları Paketlerle Yönetme, CoddyKit'te ücretsiz bir Learn Rust Coding dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn Rust Coding öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn Rust Coding kursu toplamda 3 dersten oluşur.
Kasa ve Cargo Nedir?
Rust'ta bir kasa, derleme ve dağıtımın temel birimidir. Bunu, kodunuzu içeren bir paket veya kitaplık olarak düşünebilirsiniz.
Cargo, Rust'ın resmî paket yöneticisi ve derleme sistemidir. Yeni projeler oluşturmaktan bağımlılıkları yönetmeye, kodu derlemeye ve testleri çalıştırmaya kadar her şeyi yönetir. Rust geliştirme sürecindeki en iyi yardımcınızdır!
`Cargo.toml` Dosyası
Cargo tarafından yönetilen her Rust projesinin kök dizininde bir Cargo.toml dosyası bulunur. Bu, TOML (Tom'un Açık, Minimal Dili) ile yazılmış proje bildirim dosyanızdır.
Projenizle ilgili üst verileri tanımlar ve en önemlisi bağımlılıklarını listeler.
Proje Yapılandırması
Cargo.toml içindeki [package] bölümü, kasanızla ilgili temel bilgileri içerir:
- name: Kasanızın adı.
- version: Geçerli sürümü.
- edition: Kullanılacak Rust sürümü (ör. 2021).
- authors: Kimin oluşturduğu.
Bu ayrıntılar, özellikle kasanızı yayımlamayı planlıyorsanız çok önemlidir.
Bağımlılık Ekleme
Harici kitaplıkları (diğer kasaları) projenizde kullanmak için bunları Cargo.toml içindeki [dependencies] bölümünde listelersiniz.
Projenizi derlediğinizde Cargo, bu bağımlılıkları Rust'ın merkezi paket kayıt deposu olan crates.io'dan otomatik olarak indirip derler.
Bağımlılık Sözdizimi
Cargo.toml dosyanızda bir bağımlılığı nasıl tanımlayacağınız aşağıda gösterilmiştir:
[dependencies]
rand = "0.8.5"Bu, Cargo'ya rand kasasının 0.8.5 sürümünü getirmesini söyler. Sürüm aralıklarını veya yerel yolları da belirtebilirsiniz.
Kasa Kullanımı: Örnek
Rastgele bir sayı üretmek için rand kasasını ekleyelim. Önce rand = "0.8.5" ifadesinin [dependencies] bölümünüzde bulunduğundan emin olun. Ardından kodunuzda kullanın:
use rand::Rng; // Import the Rng trait
fn main() {
let mut rng = rand::thread_rng(); // Create a random number generator
let n: u8 = rng.gen_range(1..=10); // Generate a number between 1 and 10 (inclusive)
println!("Your random number is: {}", n);
}`Cargo.lock` Dosyası
Bağımlılıklarla derleme yaptıktan sonra Cargo bir Cargo.lock dosyası oluşturur. Bu dosya, projenizde kullanılan tüm doğrudan ve geçişli bağımlılıkların tam sürümlerini kaydeder.
Projede çalışan herkesin aynı bağımlılık sürümlerini kullanmasını sağlayarak farklı ortamlarda tekrarlanabilir derlemeler elde edilmesine yardımcı olur.
Bağımlılıkları Güncelleme
Zamanla bağımlılıklarınız hata düzeltmeleri veya yeni özellikler içeren yeni sürümler yayımlayabilir. Bunları güncellemek için cargo update komutunu kullanırsınız.
Bu komut, Cargo.toml dosyanızdaki sürüm gereksinimleriyle eşleşen daha yeni sürümler için crates.io'yu denetler ve Cargo.lock dosyasını buna göre günceller.
Kendi Kasanızı Yayımlama
Harika Rust kodunuzu toplulukla paylaşmak mı istiyorsunuz? Kendi kasanızı crates.io'da yayımlayabilirsiniz!
Yayımlamadan önce Cargo.toml dosyanızda description, license ve repository bağlantıları gibi uygun üst verilerin bulunduğundan emin olun.
Yayımlama Komutları
Süreç oldukça basittir:
- Oturum açın: crates.io'dan aldığınız API belirteciyle
cargo login <token>kullanın. - Yayımlayın: Projenizin kök dizininden
cargo publishkomutunu çalıştırın.
Cargo denetimleri gerçekleştirir, kodunuzu paketler ve yükler; böylece başkaları da onu kullanabilir!
Hızlı Denetim: Cargo ve Kasalar
Rust'ın Cargo ile paket yönetimi hakkındaki aşağıdaki ifadelerden hangileri doğrudur?
Özet: Bağımlılıkları Yönetme
Cargo'nun Rust projelerini ve bağımlılıklarını yönetmek için ne kadar önemli olduğunu öğrendiniz!
- Kasalar, yeniden kullanılabilir kod paketleridir.
- Cargo.toml, projenizi ve bağımlılıklarını tanımlar.
- Cargo.lock, tekrarlanabilir derlemeler sağlar.
- Kendi kasalarınızı crates.io'da yayımlayabilirsiniz.
Bu güçlü sistem, Rust'ta kod paylaşmayı ve yeniden kullanmayı son derece verimli ve güvenilir hâle getirir.
Sıkça Sorulan Sorular
“Bağımlılıkları Paketlerle Yönetme” dersi ücretsiz mi?
Evet — “Bağımlılıkları Paketlerle Yönetme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn Rust Coding kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn Rust Coding kursu toplamda 3 dersten oluşur.
“Bağımlılıkları Paketlerle Yönetme” dersinde ne öğreneceğim?
Cargo'nun harici paketleri (kütüphaneleri) nasıl yönettiğini ve topluluğun kullanımı için kendi paketlerinizi nasıl yayımlayacağınızı öğrenin. Learn Rust Coding ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn Rust Coding öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn Rust Coding, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.
“Bağımlılıkları Paketlerle Yönetme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn Rust Coding dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn Rust Coding dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Kodu Modüllerle Düzenleme
- Bağımlılıkları Paketlerle Yönetme
- `Result` ile Sağlam Hata Yönetimi