Ubuntu 20.04 Üzerine Rust Programlama Dilini Kurulum Rehberi
Rust, modern sistem programlama için tasarlanmış, performans, güvenlik ve eşzamanlılık konularında iddialı bir programlama dilidir. Geliştiricilere bellek güvenliği garantileri sunarken C ve C++ gibi dillerin performansına yaklaşma imkanı tanır. Bu özellikleriyle, işletim sistemleri, oyun motorları, web tarayıcıları, gömülü sistemler ve hatta web servisleri gibi geniş bir yelpazede kullanılmaktadır. Ubuntu 20.04, kararlı yapısı ve geniş kullanıcı tabanı sayesinde Rust geliştirmek için popüler bir platformdur. Bu kapsamlı rehberde, Ubuntu 20.04 işletim sistemi üzerine Rust programlama dilini adım adım nasıl kuracağınızı, yöneteceğinizi ve ilk programınızı nasıl çalıştıracağınızı detaylı bir şekilde açıklayacağız.
Rust Programlama Diline Giriş ve Neden Ubuntu 20.04?
Rust, Mozilla tarafından geliştirilen ve 2015 yılında ilk kararlı sürümünü yayınlayan açık kaynaklı bir programlama dilidir. Temel felsefesi “sıfır maliyetli soyutlamalar” ve “veri yarışlarını derleme zamanında yakalamak” üzerine kuruludur. Bu sayede, geleneksel olarak manuel bellek yönetimi gerektiren dillerdeki yaygın hataların önüne geçilirken, çöp toplama (garbage collection) ihtiyacını ortadan kaldırarak yüksek performans elde edilir. Rust’ın benzersiz sahiplik (ownership) sistemi, ödünç alma (borrowing) kuralları ve ömürler (lifetimes) kavramları, derleyicinin çalışma zamanı hatalarını derleme zamanında yakalamasına olanak tanır, bu da daha güvenli ve kararlı yazılımlar üretilmesini sağlar.
Rust’ın popülaritesi, özellikle aşağıdaki alanlarda hızla artmaktadır:
* Sistem Programlama: İşletim sistemleri çekirdekleri, sürücüler ve düşük seviyeli ağ programlama.
* WebAssembly (Wasm): Tarayıcıda yüksek performanslı uygulamalar çalıştırmak için.
* Komut Satırı Araçları (CLI): Hızlı ve güvenilir terminal uygulamaları geliştirmek.
* Web Servisleri: Yüksek performanslı ve ölçeklenebilir backend servisleri.
* Gömülü Sistemler: Kaynak kısıtlı cihazlar için güvenli ve verimli kod.
Ubuntu 20.04 LTS (Focal Fossa), uzun süreli destek (Long Term Support) sunan, kararlı ve yaygın olarak kullanılan bir Linux dağıtımıdır. Hem sunucu ortamlarında hem de geliştirme iş istasyonlarında tercih edilen bir işletim sistemidir. Bu nedenle, Rust geliştirme ortamınızı Ubuntu 20.04 üzerine kurmak, kararlı bir temel ve geniş bir topluluk desteği sunar. Bu rehberde, Rust’ı kurmak için önerilen yöntem olan rustup aracını kullanacağız, çünkü bu araç Rust derleyicisini, Cargo paket yöneticisini ve diğer geliştirme araçlarını yönetmek için en esnek ve güncel yolu sunar.
Rust Kurulumu İçin Ön Gereksinimler
Rust’ı Ubuntu 20.04 sisteminize kurmadan önce, sorunsuz bir kurulum süreci sağlamak için bazı ön gereksinimleri karşılamanız gerekmektedir.
Temel Sistem Güncellemesi
Kuruluma başlamadan önce, sisteminizin paket listesini güncelleyip mevcut paketleri yükseltmek iyi bir uygulamadır. Bu, herhangi bir bağımlılık çakışmasını önlemeye yardımcı olur ve en son güvenlik güncellemelerini almanızı sağlar.
Terminalinizi açın (Ctrl+Alt+T) ve aşağıdaki komutları çalıştırın:
sudo apt update
sudo apt upgrade -y
sudo apt update komutu, yerel paket indeksinizi güncellerken, sudo apt upgrade -y komutu yüklü paketlerinizi yükseltir. -y bayrağı, tüm yükseltme onaylarını otomatik olarak “evet” olarak kabul eder.
Gerekli Derleme Araçları ve Bağımlılıklar
Rust, kendi kodunu derlemek ve Rust projelerini oluşturmak için bazı temel derleme araçlarına ihtiyaç duyar. Özellikle build-essential paketi, GCC derleyicisi, make ve diğer önemli geliştirme kütüphanelerini içerir. Ayrıca, Rust’ı indirmek için curl aracına da ihtiyacımız olacak.
Aşağıdaki komutla bu gerekli araçları yükleyin:
sudo apt install build-essential curl -y
Bu komut, sisteminizde Rust projelerini derlemek için gerekli olan tüm temel bileşenlerin bulunmasını sağlayacaktır.
İnternet Bağlantısı ve Sudo Yetkileri
Rust kurulumu internet üzerinden gerçekleştiği için aktif bir internet bağlantınızın olması gerekmektedir. Ayrıca, sistem genelinde değişiklikler yapacağınızdan dolayı sudo (super user do) yetkilerine sahip bir kullanıcı olmanız şarttır. Genellikle Ubuntu’da oluşturduğunuz ilk kullanıcı varsayılan olarak sudo yetkilerine sahiptir.
Rust Kurulumu: Önerilen Yöntem (rustup ile)
rustup, Rust derleyici, Cargo ve diğer araçları yönetmek için resmi ve önerilen yöntemdir. Birden fazla Rust sürümünü (kararlı, beta, nightly) kolayca kurmanıza, güncellemenize ve bunlar arasında geçiş yapmanıza olanak tanır. Bu, özellikle farklı projeler için farklı Rust sürümlerine ihtiyacınız olduğunda veya en son özelliklere erişmek istediğinizde son derece kullanışlıdır.
rustup İndirme ve Kurulumu
rustup kurulumu, tek bir komutla gerçekleştirilir ve basit bir etkileşimli süreçle tamamlanır.
1. rustup Kurulum Komutunu Çalıştırın:
Aşağıdaki curl komutunu kullanarak rustup kurulum betiğini indirin ve çalıştırın:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Bu komutun detayları:
* curl: URL’lerden veri indirmek için kullanılan bir araç.
* --proto '=https' --tlsv1.2: Güvenli bir HTTPS bağlantısı kullanılmasını ve TLS 1.2 sürümünün zorlanmasını sağlar. Bu, indirmenin güvenliğini artırır.
* -sSf:
* -s: Sessiz mod (ilerleme çubuğunu veya hata mesajlarını göstermez).
* -S: Hata durumunda hata mesajlarını gösterir (sessiz mod ile birlikte kullanıldığında).
* -f: Sunucu hatası durumunda sessizce başarısız olur (yani, HTTP hata kodları döndüğünde).
* https://sh.rustup.rs: rustup kurulum betiğinin URL’si.
* | sh: İndirilen betiği doğrudan sh (Bourne shell) ile çalıştırır.
2. Kurulum Seçeneklerini Belirleyin:
Komutu çalıştırdıktan sonra, rustup size kurulum seçeneklerini sunacaktır. Genellikle varsayılan seçenekleri kabul etmek en iyisidir.
Welcome to Rust!
This will download and install the official compiler for the Rust programming language,
and its package manager, Cargo.
It will add the cargo, rustc, rustup and other commands to
your PATH environment variable.
To start using Rust, you'll need to run:
source $HOME/.cargo/env
This can be configured in your .bashrc or .zshrc file.
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
Varsayılan kurulum (seçenek 1), Rust’ın en son kararlı sürümünü ve Cargo’yu yükleyecektir. Genellikle bu, çoğu kullanıcı için en uygun seçenektir. Enter tuşuna basarak veya 1 yazıp Enter’a basarak varsayılan kurulumu seçin.
Kurulum tamamlandığında, aşağıdaki gibi bir çıktı göreceksiniz:
Rust is installed now. Great!
To get started you may need to restart your current shell.
This would reload your PATH environment variable to include Cargo's bin directory.
Alternatively, you can run this in your current shell to update your PATH:
source $HOME/.cargo/env
Ortam Değişkenlerini Yapılandırma
rustup kurulumu, Rust araçlarının (örneğin rustc, cargo, rustup) çalıştırılabilir dosyalarını $HOME/.cargo/bin dizinine yerleştirir. Bu dizinin sisteminizin PATH ortam değişkenine eklenmesi gerekir, böylece bu komutları herhangi bir dizinden doğrudan çalıştırabilirsiniz. Kurulum betiği size bunu nasıl yapacağınızı söyler:
source $HOME/.cargo/env
Bu komutu mevcut terminal oturumunuzda çalıştırın. Bu, PATH değişkeninizi güncelleyecek ve Rust araçlarını hemen kullanmaya başlayabileceksiniz.
Önemli: Bu komut, yalnızca mevcut terminal oturumu için geçerlidir. Her yeni terminal oturumu açtığınızda bu komutu tekrar çalıştırmanız gerekir. Bu durumu kalıcı hale getirmek için, komutu kabuk yapılandırma dosyanıza (örneğin ~/.bashrc veya ~/.zshrc) eklemeniz önerilir.
~/.bashrc dosyasını düzenlemek için:
nano ~/.bashrc
Dosyanın sonuna aşağıdaki satırı ekleyin:
source $HOME/.cargo/env
Değişiklikleri kaydedin (Ctrl+O, Enter) ve nanodan çıkın (Ctrl+X). Ardından, değişikliklerin etkili olması için ~/.bashrc dosyasını kaynaklayın veya terminalinizi yeniden başlatın:
source ~/.bashrc
Artık her yeni terminal oturumunda Rust araçları otomatik olarak PATH‘inizde olacaktır.
Kurulumu Doğrulama
Rust’ın başarıyla kurulduğunu ve ortam değişkenlerinin doğru şekilde yapılandırıldığını doğrulamak için rustc (Rust derleyicisi) ve cargo (Rust paket yöneticisi) sürümlerini kontrol edebilirsiniz:
rustc --version
cargo --version
Çıktılar, yüklü Rust ve Cargo sürümlerini göstermelidir, örneğin:
rustc 1.70.0 (90c541806 2023-05-31)
cargo 1.70.0 (6503c626c 2023-05-27)
Eğer bu komutlar sürümleri başarıyla gösteriyorsa, Rust geliştirme ortamınız Ubuntu 20.04 sisteminize başarıyla kurulmuş demektir!
Rust Sürümlerini rustup ile Yönetme
rustup sadece Rust’ı kurmakla kalmaz, aynı zamanda farklı Rust sürümlerini (toolchain’leri) yönetmek için de güçlü bir araçtır. Bu, özellikle farklı projeler için belirli Rust sürümlerine ihtiyacınız olduğunda veya en son “nightly” özelliklerini denemek istediğinizde çok kullanışlıdır.
Rust’ı Güncelleme
Rust geliştirme ekibi, genellikle her altı haftada bir yeni kararlı sürüm yayınlar. rustup ile Rust kurulumunuzu en son kararlı sürüme güncellemek çok kolaydır:
rustup update
Bu komut, mevcut tüm kurulu toolchain’leri güncelleyecektir. Eğer sadece belirli bir toolchain’i güncellemek isterseniz, rustup update stable veya rustup update nightly gibi komutlar kullanabilirsiniz.
Farklı Toolchain’ler Kurma
Rust’ın üç ana sürümü (toolchain’i) vardır:
* stable (kararlı): Çoğu geliştirme için önerilen, en güvenilir ve test edilmiş sürümdür.
* beta: Bir sonraki kararlı sürümün önizlemesi. Kararlı hale gelmeden önce yeni özelliklerin test edilmesi için kullanılır.
* nightly (gecelik): Geliştirme aşamasındaki en son özelliklere ve değişikliklere sahip, her gece otomatik olarak derlenen sürümdür. Deney yapmak ve en yeni özellikleri kullanmak için kullanılır, ancak kararsız olabilir.
Belirli bir toolchain’i kurmak için:
rustup install beta
rustup install nightly
Ayrıca, belirli bir kararlı sürümü de kurabilirsiniz, örneğin:
rustup install 1.60.0
Varsayılan Toolchain’i Değiştirme
Birden fazla toolchain kurduktan sonra, varsayılan olarak hangi toolchain’in kullanılacağını belirleyebilirsiniz:
rustup default stable
rustup default nightly
rustup default 1.60.0
Bu komut, sistem genelinde varsayılan toolchain’i ayarlar.
Proje Bazında Toolchain Kullanma
Bazen, belirli bir proje için farklı bir toolchain kullanmanız gerekebilir. rustup bu senaryoyu override komutuyla kolaylaştırır. Bir projenin kök dizinindeyken aşağıdaki komutu çalıştırarak o dizin için özel bir toolchain belirleyebilirsiniz:
cd my_rust_project
rustup override set nightly
Bu, my_rust_project dizininde ve alt dizinlerinde çalışırken nightly toolchain’inin kullanılmasını sağlayacaktır. Bu ayar, rustup default ile belirlenen genel varsayılanı geçersiz kılar. Geçersiz kılmayı kaldırmak için:
rustup override unset
Kurulu Toolchain’leri Listeleme
Sisteminizde hangi toolchain’lerin kurulu olduğunu ve hangisinin varsayılan olduğunu görmek için:
rustup show
Çıktı şöyle görünebilir:
Default host: x86_64-unknown-linux-gnu
rustup home: /home/username/.rustup
installed toolchains
--------------------
stable-x86_64-unknown-linux-gnu (default)
beta-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu
active toolchain
----------------
stable-x86_64-unknown-linux-gnu (overridden by '/home/username/my_rust_project/rust-toolchain.toml')
Bu çıktı, kurulu toolchain’leri ve aktif olanı (varsayılan veya geçersiz kılınmış) gösterir.
Rust’ı Kaldırma
Eğer Rust’ı sisteminizden tamamen kaldırmak isterseniz, rustup‘ın kendi kaldırma komutunu kullanabilirsiniz:
rustup self uninstall
Bu komut, rustup‘ı ve onunla birlikte kurulan tüm Rust toolchain’lerini ve bileşenlerini kaldıracaktır.
Alternatif Kurulum Yöntemi: Ubuntu APT Paket Yöneticisi ile
rustup önerilen yöntem olsa da, Rust’ı Ubuntu’nun kendi APT paket yöneticisi aracılığıyla da kurmak mümkündür. Ancak, bu yöntemin önemli bir dezavantajı vardır: Ubuntu depolarındaki Rust sürümü genellikle oldukça eskidir ve rustup‘ın sunduğu toolchain yönetim özelliklerinden yoksundur. Bu nedenle, aktif Rust geliştirme için önerilmez, ancak hızlı bir deneme yapmak veya belirli bir eski sürümle çalışmak isterseniz kullanılabilir.
1. Sistem Paketlerini Güncelleyin:
Her zaman olduğu gibi, kuruluma başlamadan önce paket listesini güncelleyin:
sudo apt update
2. Rust ve Cargo’yu Yükleyin:
Aşağıdaki komutla Rust derleyicisini (rustc) ve Cargo’yu (cargo) yükleyebilirsiniz:
sudo apt install rustc cargo -y
3. Kurulumu Doğrulayın:
Kurulum tamamlandıktan sonra, yüklü sürümleri kontrol edin:
rustc --version
cargo --version
Bu komutlar, APT depolarından yüklenen Rust ve Cargo sürümlerini gösterecektir. Ubuntu 20.04’te bu genellikle Rust 1.41.0 veya benzeri eski bir sürüm olacaktır.
APT Yönteminin Sınırlamaları
* Eski Sürümler: Ubuntu depolarındaki Rust sürümü, rustup ile kurulan en son kararlı sürümden önemli ölçüde daha eski olabilir. Bu, en yeni dil özelliklerine ve kütüphanelere erişemeyeceğiniz anlamına gelir.
* Toolchain Yönetimi Yok: APT ile kurulan Rust, rustup‘ın sunduğu farklı toolchain’ler arasında geçiş yapma, beta veya nightly sürümlerini yükleme gibi yeteneklere sahip değildir.
* Güncelleme Zorluğu: Rust’ı APT ile güncellediğinizde, yalnızca Ubuntu depolarına yeni bir sürüm eklendiğinde güncelleme alırsınız ki bu da rustup‘ın düzenli altı haftalık güncellemelerine kıyasla çok daha yavaştır.
Bu sınırlamalar nedeniyle, ciddi Rust geliştirme yapmayı planlıyorsanız rustup yöntemini kullanmanız şiddetle tavsiye edilir.
İlk Rust Programınızı Yazma (“Hello, World!”)
Rust geliştirme ortamınız başarıyla kurulduktan sonra, ilk Rust programınızı yazmaya ve çalıştırmaya hazırsınız. Rust projeleri için standart bir yapı ve bağımlılık yönetimi sağlayan Cargo’yu kullanacağız.
1. Proje Dizini Oluşturma:
Rust projelerinizi düzenli tutmak için bir dizin oluşturun ve içine girin:
mkdir rust_projects
cd rust_projects
2. Yeni Bir Cargo Projesi Oluşturma:
Cargo, yeni bir Rust projesi oluşturmak için cargo new komutunu sağlar. Bu komut, projeniz için gerekli dizin yapısını ve varsayılan dosyaları otomatik olarak oluşturur.
cargo new hello_rust
Bu komut, hello_rust adında yeni bir dizin oluşturur ve bu dizinin içinde aşağıdaki yapıyı kurar:
hello_rust/
├── Cargo.toml
└── src/
└── main.rs
* Cargo.toml: Bu dosya, projenizin metadata’sını (adı, sürümü, yazarları) ve bağımlılıklarını tanımlayan bir TOML (Tom’s Obvious, Minimal Language) formatındaki manifest dosyasıdır.
* src/main.rs: Burası Rust kodunuzu yazacağınız yerdir. Cargo yeni bir proje oluşturduğunda, size varsayılan bir “Hello, world!” programı ile birlikte gelir.
3. Proje Dizinine Girme:
Oluşturulan projenin dizinine girin:
cd hello_rust
4. src/main.rs Dosyasını İnceleme:
src/main.rs dosyasının içeriğini bir metin düzenleyici (örneğin nano) ile açarak inceleyebilirsiniz:
nano src/main.rs
İçerik şöyle olmalıdır:
fn main() {
println!("Hello, world!");
}
* fn main(): Bu, her Rust programının başlangıç noktası olan ana fonksiyondur.
* println!: Bu, ekrana metin yazdırmak için kullanılan bir makrodur (sonundaki ! işareti bir makro olduğunu gösterir).
Dosyayı kapatın (Ctrl+X).
5. Programı Derleme ve Çalıştırma:
Cargo, Rust projelerini derlemek ve çalıştırmak için kullanışlı komutlar sunar:
* Derleme (cargo build):
Projenizi derlemek için:
cargo build
Bu komut, kodunuzu derler ve çalıştırılabilir bir dosya oluşturur. İlk derlemede biraz zaman alabilir, çünkü Rust derleyicisinin ve standart kütüphanelerin önbelleğe alınması gerekir. Başarılı bir derlemeden sonra, çalıştırılabilir dosya target/debug/hello_rust yolunda bulunacaktır.
* Çalıştırma (cargo run):
Projenizi derleyip ardından çalıştırmak için:
cargo run
Bu komut, eğer kodda değişiklik varsa önce derler, ardından çalıştırılabilir dosyayı çalıştırır. Çıktı şöyle olacaktır:
Compiling hello_rust v0.1.0 (/home/username/rust_projects/hello_rust)
Finished dev [unoptimized + debuginfo] target(s) in 0.XXs
Running target/debug/hello_rust
Hello, world!
cargo run komutu, geliştirme sırasında çok kullanışlıdır çünkü derleme ve çalıştırma adımlarını tek bir komutta birleştirir.
* Sürüm Derlemesi (cargo build --release):
Üretim ortamları için optimize edilmiş ve hata ayıklama bilgileri içermeyen daha küçük ve daha hızlı bir çalıştırılabilir dosya oluşturmak isterseniz --release bayrağını kullanın:
cargo build --release
Bu komut, çalıştırılabilir dosyayı target/release/hello_rust yolunda oluşturur. Bu sürüm, genellikle derleme süresi daha uzun sürse de, daha yüksek performans sunar.
Tebrikler! İlk Rust programınızı başarıyla yazdınız, derlediniz ve çalıştırdınız. Bu, Rust ile yolculuğunuzun başlangıcıdır.
Önemli Rust Kavramları
Rust ekosistemi, geliştiricilerin verimli ve güvenli uygulamalar oluşturmasına yardımcı olan çeşitli araç ve kavramlarla doludur. Kurulumunuzu tamamladığınıza göre, bu temel kavramlara kısaca değinmek faydalı olacaktır.
Cargo: Rust’ın Paket Yöneticisi ve Derleme Sistemi
Cargo, Rust ekosisteminin kalbinde yer alan temel bir araçtır. Bir Rust projesi üzerinde çalışırken, muhtemelen cargo komutunu rustc komutundan daha sık kullanacaksınız. Cargo şunları yapar:
* Proje Oluşturma: cargo new ile yeni projeler için standart bir dizin yapısı oluşturur.
* Bağımlılık Yönetimi: Projenizin ihtiyaç duyduğu harici kütüphaneleri (crate’leri) Cargo.toml dosyasında tanımlamanıza ve bunları indirip derlemenize olanak tanır.
* Derleme: cargo build ile projenizi derler.
* Çalıştırma: cargo run ile derlenmiş projeyi çalıştırır.
* Test Etme: cargo test ile projenizdeki testleri çalıştırır.
* Belgeleme: cargo doc ile projeniz için HTML belgeleri oluşturur.
* Yayınlama: cargo publish ile kütüphanelerinizi (crate’lerinizi) crates.io adresine (Rust’ın merkezi paket deposu) yayınlamanıza yardımcı olur.
Cargo, Rust projelerinin geliştirme yaşam döngüsünü basitleştiren güçlü ve entegre bir araçtır.
Toolchain’ler: Kararlı, Beta ve Nightly
Daha önce de bahsedildiği gibi, rustup üç ana Rust toolchain’ini yönetmenize olanak tanır:
* Stable (Kararlı): Çoğu geliştirme için varsayılan ve önerilen toolchain’dir. En iyi şekilde test edilmiş, hatasız ve uzun süreli desteklenen bir ortam sağlar.
* Beta: Kararlı sürümden yaklaşık altı hafta önce yayınlanır ve bir sonraki kararlı sürümde yer alacak özellikleri içerir. Yeni özellikleri erkenden denemek veya kararlı sürümden önce kodunuzu test etmek için kullanılabilir.
* Nightly (Gecelik): Rust geliştirme ekibi tarafından her gece derlenen, en son özelliklere ve değişikliklere sahip olan toolchain’dir. En yeni dil özelliklerini veya deneysel API’leri kullanmak isteyen geliştiriciler için uygundur, ancak kararsız olabilir veya hatalar içerebilir.
Projenizin ihtiyaçlarına göre doğru toolchain’i seçmek önemlidir. Çoğu durumda, stable toolchain yeterli olacaktır.
rustup‘ın Rolü
rustup, Rust geliştirme deneyiminizin merkezinde yer alır. Sadece toolchain’leri yönetmekle kalmaz, aynı zamanda rustfmt (kod formatlayıcı), clippy (kod analizörü) ve rust-analyzer (dil sunucusu) gibi ek bileşenleri de kurmanıza ve yönetmenize olanak tanır. Bu araçlar, kod kalitesini artırmak, hataları erken yakalamak ve IDE entegrasyonunu geliştirmek için paha biçilmezdir.
Sık Karşılaşılan Sorunlar ve Çözümleri
Rust kurulumu veya ilk programınızı çalıştırırken bazı yaygın sorunlarla karşılaşabilirsiniz. İşte bunlardan bazıları ve çözümleri:
1. rustc: command not found veya cargo: command not found
Bu hata genellikle PATH ortam değişkeninizin Rust araçlarını içerecek şekilde doğru yapılandırılmadığı anlamına gelir.
Çözüm:
Mevcut terminal oturumunuzda aşağıdaki komutu çalıştırın:
source $HOME/.cargo/env
Bu komutu her yeni terminal oturumunda çalıştırmak istemiyorsanız, kalıcı olması için ~/.bashrc (veya kullandığınız kabuk yapılandırma dosyası) dosyasına eklediğinizden emin olun ve ardından source ~/.bashrc ile dosyayı kaynaklayın veya terminalinizi yeniden başlatın.
2. Rust Sürümüm Eski
Eğer APT paket yöneticisi ile Rust kurduysanız, sürümünüzün eski olması normaldir. Eğer rustup ile kurduysanız ve hala eski bir sürüm görüyorsanız:
Çözüm:
rustup kurulumunuzu güncelleyin:
rustup update
Eğer rustup kurulu değilse, yukarıdaki rustup kurulum adımlarını izleyerek kurun.
3. Derleme Sırasında Hata: “linker cc not found” veya Benzeri
Bu hata, Rust’ın C derleyicisi veya diğer temel derleme araçlarını bulamadığı anlamına gelir.
Çözüm:
build-essential paketinin kurulu olduğundan emin olun:
sudo apt install build-essential -y
Bu paket, Rust projelerini derlemek için gerekli olan GCC, make ve diğer araçları içerir.
4. curl Komutu Çalışmıyor veya Hata Veriyor
rustup kurulum betiğini indirirken curl ile ilgili bir sorun yaşarsanız:
Çözüm:
Öncelikle curl‘ün kurulu olduğundan emin olun:
sudo apt install curl -y
Eğer kuruluysa ve hala sorun yaşıyorsanız, ağ bağlantınızı kontrol edin. Güvenlik duvarı veya proxy ayarları curl‘ün dış kaynaklara erişmesini engelliyor olabilir.
5. rustup Kurulumu Takılıyor veya Bitmiyor
Bu genellikle zayıf veya kesintili bir internet bağlantısından kaynaklanır.
Çözüm:
İnternet bağlantınızın stabil olduğundan emin olun. Gerekirse, kurulumu iptal edip daha sonra tekrar deneyin. Büyük bir dosya indirilmediği için genellikle ağ sorunları anında belli olur.
Gelişmiş Konular ve Ek Araçlar
Rust geliştirme deneyiminizi daha da zenginleştirecek bazı gelişmiş konular ve ek araçlar bulunmaktadır.
1. Rustfmt: Kod Formatlayıcı
rustfmt, Rust kodunuzu otomatik olarak belirli bir stil kılavuzuna göre formatlayan bir araçtır. Bu, kod tutarlılığını sağlamak ve okunabilirliği artırmak için çok önemlidir, özellikle birden fazla geliştiricinin çalıştığı projelerde.
Kurulum:
rustfmt genellikle rustup ile varsayılan olarak gelir, ancak kurulu değilse ekleyebilirsiniz:
rustup component add rustfmt
Kullanım:
Projenizin kök dizinindeyken tüm dosyaları formatlamak için:
cargo fmt
Belirli bir dosyayı formatlamak için:
rustfmt src/main.rs
2. Clippy: Kod Analizörü (Linter)
clippy, Rust kodunuzdaki yaygın hataları, kötü uygulamaları ve performans sorunlarını bulan bir linting aracıdır. Derleyicinin yakalayamadığı mantıksal hataları veya stil sorunlarını tespit etmede çok etkilidir.
Kurulum:
clippy‘yi rustup ile ekleyin:
rustup component add clippy
Kullanım:
Projenizi clippy ile analiz etmek için:
cargo clippy
clippy size önerilerde bulunacak ve kodunuzu nasıl iyileştirebileceğinizi gösterecektir.
3. Rust-analyzer: Dil Sunucusu (Language Server)
Modern IDE’ler ve metin düzenleyicileri (VS Code, Sublime Text, Neovim vb.) genellikle dil sunucularını kullanarak kod tamamlama, hata denetimi, tanıma gitme gibi akıllı özellikler sunar. rust-analyzer, Rust için en popüler ve güçlü dil sunucusudur.
Kurulum:
rust-analyzer‘ı rustup ile ekleyebilirsiniz:
rustup component add rust-analyzer
Kullanım:
rust-analyzer‘ı doğrudan komut satırından çalıştırmazsınız. Bunun yerine, kullandığınız IDE veya metin düzenleyicinin Rust uzantısı (örneğin VS Code için rust-analyzer uzantısı) bu dil sunucusunu arka planda otomatik olarak kullanır. IDE’nizi kurduktan sonra, uzantının rust-analyzer‘ı bulup kullandığından emin olun.
4. Çapraz Derleme (Cross-compilation)
Rust, kodu farklı platformlar için derlemeyi (örneğin, Linux’ta Windows için bir çalıştırılabilir dosya oluşturmak) oldukça kolaylaştırır. rustup ile hedef platformları ekleyebilirsiniz:
rustup target add x86_64-pc-windows-gnu
Ardından, belirli bir hedef için derleme yapabilirsiniz:
cargo build --target x86_64-pc-windows-gnu
Bu, gömülü sistemler, WebAssembly veya farklı işletim sistemleri için uygulama geliştirirken çok kullanışlıdır.
Sonuç
Bu kapsamlı rehberde, Ubuntu 20.04 işletim sistemi üzerine Rust programlama dilini adım adım nasıl kuracağınızı öğrendiniz. rustup aracının gücünü kullanarak Rust toolchain’lerini nasıl yöneteceğinizi, farklı sürümler arasında nasıl geçiş yapacağınızı ve güncellemeleri nasıl yapacağınızı detaylı bir şekilde ele aldık. Ayrıca, APT paket yöneticisi ile alternatif kurulum yönteminin sınırlamalarını da inceledik.
İlk “Hello, World!” programınızı Cargo kullanarak başarıyla çalıştırdınız, bu da Rust geliştirme yolculuğunuzda önemli bir adımdır. Cargo’nun Rust projelerini yönetmek için ne kadar hayati bir araç olduğunu ve rustfmt, clippy gibi ek araçların kod kalitenizi nasıl artırabileceğini gördünüz.
Rust, modern yazılım geliştirme dünyasında hızla yükselen bir yıldızdır. Performansı, bellek güvenliği ve eşzamanlılık yetenekleri sayesinde birçok farklı alanda kendine yer bulmaktadır. Bu kurulum rehberiyle, Ubuntu 20.04 sisteminizde güçlü ve verimli Rust uygulamaları geliştirmeye başlamak için sağlam bir temele sahipsiniz.
Rust’ın sunduğu zengin özellikleri ve güçlü topluluğu keşfetmeye devam etmek için resmi Rust dokümantasyonunu (doc.rust-lang.org) ve The Rust Programming Language (“The Book”) gibi kaynakları incelemeniz şiddetle tavsiye edilir. İyi kodlamalar!
