Neler yeni

Yazılım Forum

Tüm özelliklerimize erişmek için şimdi bize katılın. Kayıt olduktan ve giriş yaptıktan sonra konu oluşturabilecek, mevcut konulara yanıt gönderebilecek, itibar kazanabilecek, özel mesajlaşmaya erişebilecek ve çok daha fazlasını yapabileceksiniz! Bu hizmetlerimiz ise tamamen ücretsiz ve kurallara uyulduğu sürece sınırsızdır, o zaman ne bekliyorsunuz? Hadi, sizde aramıza katılın!

rbenv ile Ruby Sürümlerini Etkili Yönetme Rehberi

Ruby geliştiricileri için farklı projelerde farklı Ruby sürümlerini kullanma ihtiyacı oldukça yaygındır. Belki eski bir proje Ruby 2.7 gerektirirken, yeni bir proje Ruby 3.2 ile çalışmak istiyor olabilir. İşte bu noktada, sisteminizde birden fazla Ruby sürümünü çakışmadan yönetmenizi sağlayan araçlar devreye girer. Bu araçlardan biri de hafif yapısı ve basit kullanımıyla öne çıkan rbenv'dir.

rbenv Nedir ve Neden Kullanmalıyız?

rbenv, Ruby sürümlerini sisteminizde global veya projeye özel olarak belirlemenizi sağlayan bir sürüm yönetim aracıdır. Diğer bazı araçların aksine, kabuk (shell) işlevlerinizi değiştirmeden veya 'hijack' etmeden çalışır. Bunun yerine, Ruby komutlarını yakalayan ve doğru Ruby sürümüne yönlendiren basit 'shim' dosyaları kullanır. Bu minimalist yaklaşım, rbenv'i hızlı ve güvenilir kılar. Sistem Ruby'si üzerinde çalışmaktan kaçınmak ve her projenin kendi bağımlılık setine sahip olmasını sağlamak, rbenv kullanmanın en büyük avantajlarından biridir.

rbenv'in temel felsefesi sadelik ve esnekliktir. Ruby'nin nasıl kurulduğunu veya uygulamanızın bağımlılıklarının nasıl yönetildiğini üstlenmez; sadece doğru Ruby sürümünün kullanılmasını sağlar.

Kurulum Öncesi Hazırlıklar

rbenv ve Ruby'yi sorunsuz bir şekilde kurabilmek için bazı temel geliştirme araçlarına ve kütüphanelerine ihtiyacınız olacaktır. Bunlar, Ruby'nin kaynak koddan derlenmesi için gereklidir.

  • Linux (Debian/Ubuntu tabanlı):
    Kod:
        sudo apt update
        sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libffi-dev libgdbm-dev libncurses5-dev
  • macOS (Homebrew ile):
    Kod:
        brew install openssl readline libyaml gmp

rbenv Kurulumu

rbenv'i kurmanın iki yaygın yolu vardır: Git ile manuel kurulum ve Homebrew (macOS için).

Git ile Manuel Kurulum (Linux ve macOS için)

Bu yöntem, rbenv'i doğrudan Git deposundan klonlayarak kurarız:

Kod:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv
src/configure && make -C src

Ardından, rbenv'i kabuğunuza eklemeniz gerekir. Hangi kabuğu kullandığınıza bağlı olarak (`bash`, `zsh` vb.), ilgili yapılandırma dosyasını düzenlemeniz gerekecektir (`~/.bashrc`, `~/.zshrc`).

Kod:
# ~/.bashrc veya ~/.zshrc dosyanıza ekleyin
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

Değişiklikleri etkinleştirmek için kabuğunuzu yeniden başlatın veya kaynak dosyanızı tekrar yükleyin:

Kod:
source ~/.bashrc  # veya source ~/.zshrc

rbenv'in Ruby sürümlerini kurmak için bir eklentiye ihtiyacı vardır: ruby-build. Bu eklenti, farklı Ruby sürümlerinin kaynak koddan derlenmesini kolaylaştırır.

Kod:
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

Homebrew ile Kurulum (macOS için)

Homebrew kullanıyorsanız, kurulum çok daha basittir:

Kod:
brew install rbenv ruby-build

Homebrew, rbenv'i zaten doğru yola ekleyecek ve başlatma komutlarını otomatik olarak yapılandıracaktır. Ancak, yine de `eval "$(rbenv init -)"` komutunun kabuk yapılandırma dosyanızda olduğundan emin olmanız önemlidir.

Temel rbenv Kullanımı

Ruby Sürümü Yükleme

Artık rbenv yüklü olduğuna göre, istediğiniz Ruby sürümlerini kurmaya başlayabilirsiniz. Örneğin, Ruby 3.2.2'yi kurmak için:

Kod:
rbenv install 3.2.2

Bu işlem, internet bağlantınızın hızına ve sisteminizin performansına bağlı olarak biraz zaman alabilir. Ruby'nin kaynak koddan derlenmesini içerir.

Yüklü Ruby Sürümlerini Listeleme

Hangi Ruby sürümlerinin rbenv tarafından yönetildiğini görmek için:

Kod:
rbenv versions

Çıktı, yüklü sürümleri gösterecek ve şu an aktif olanı bir yıldız (*) ile işaretleyecektir.

Global Ruby Sürümünü Ayarlama

Bu komut, sisteminizdeki varsayılan Ruby sürümünü ayarlar. Bu, belirli bir proje dizininde özel bir sürüm belirtilmediğinde kullanılacak sürümdür.

Kod:
rbenv global 3.2.2

Proje Bazında Ruby Sürümü Ayarlama

Bir projenin belirli bir Ruby sürümünü kullanmasını istiyorsanız, o projenin kök dizinine gidin ve `rbenv local` komutunu kullanın:

Kod:
cd ~/my_ruby_project
rbenv local 3.1.4

Bu komut, projenin dizininde `.ruby-version` adında küçük bir dosya oluşturur. rbenv, bu dosyayı algılayarak o dizine her girdiğinizde belirtilen Ruby sürümünü otomatik olarak etkinleştirir. rbenv'in resmi web sitesi daha fazla detaylı bilgi içerir.

Shim'leri Yenileme

Her yeni Ruby sürümü yüklediğinizde veya `gem install <gem_adı>` ile yürütülebilir bir gem (örneğin `rails`, `bundler`) kurduğunuzda, rbenv'in 'shim' dosyalarını güncellemesi gerekir. Bu, rbenv'in kabuğunuzun doğru Ruby yürütülebilir dosyalarını bulmasını sağlar.

Kod:
rbenv rehash

Bu komutu unutmak, yeni yüklenen komutların bulunamamasına yol açabilir. Bu yüzden sıkça kullanmanız gerekebilir.

Mevcut Ruby Sürümünü Kontrol Etme

Şu anki aktif Ruby sürümünüzü kontrol etmek için `ruby -v` veya `rbenv version` kullanabilirsiniz:

Kod:
ruby -v
# veya
rbenv version

Ortak Sorunlar ve İpuçları

  • Derleme Hataları: Ruby'nin derlenmesi sırasında
    Kod:
    zlib
    ,
    Kod:
    readline
    ,
    Kod:
    libffi
    veya
    Kod:
    openssl
    gibi kütüphanelerle ilgili hatalar alabilirsiniz. Kurulum öncesi hazırlıklar bölümündeki paketlerin yüklü olduğundan emin olun. Özellikle macOS'ta Homebrew ile OpenSSL'in doğru şekilde bağlantılandığından emin olun.
    Kod:
        brew install openssl@1.1 # veya openssl@3
        brew link --force openssl@1.1 # veya openssl@3
    Bazı durumlarda, Ruby'yi derlerken bu kütüphanelerin yolunu belirtmeniz gerekebilir:
    Kod:
        RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)" rbenv install 2.7.5
  • PATH Sorunları: rbenv komutları çalışmıyorsa veya `ruby -v` sistem Ruby'sini gösteriyorsa, `eval "$(rbenv init -)"` komutunun kabuk başlatma dosyanızda (örn. `.bashrc`, `.zshrc`) olduğundan ve doğru şekilde kaynaklandığından emin olun.
  • Gem Yolu Sorunları:
    Kod:
    gem install
    ile kurduğunuz gem'lerin komutları çalışmıyorsa, büyük ihtimalle
    Kod:
    rbenv rehash
    yapmayı unuttunuz demektir.

Ruby Sürümü Kaldırma

Belirli bir Ruby sürümünü kaldırmak isterseniz:

Kod:
rbenv uninstall 2.7.5

Bu komut, belirtilen Ruby sürümünü ve onunla ilişkili tüm gem'leri sisteminizden kaldırır.

rbenv'i Tamamen Kaldırma

rbenv'i sisteminizden tamamen kaldırmak isterseniz, aşağıdaki adımları izleyebilirsiniz:

  • Kabuk yapılandırma dosyanızdan (`.bashrc`, `.zshrc`) rbenv ile ilgili tüm satırları kaldırın.
  • rbenv dizinini ve tüm Ruby sürümlerini silin:
    Kod:
        rm -rf ~/.rbenv
  • Kod:
    ~/.rbenv
    dizininin
    Kod:
    PATH
    değişkeninizden kaldırıldığından emin olun.

Sonuç

rbenv, Ruby geliştirme ortamınızı düzenli ve esnek tutmak için mükemmel bir araçtır. Farklı projeler arasında geçiş yaparken veya eski projeleri sürdürürken size büyük kolaylık sağlar. Minimalist yapısı ve kabuğunuzu devralmayan çalışma prensibi ile birçok geliştiricinin favorisi haline gelmiştir. Bu rehber ile rbenv'i kurup temel komutlarını kullanarak Ruby sürümlerini başarıyla yönetebileceğinizi umuyoruz. Unutmayın, herhangi bir sorunla karşılaştığınızda rbenv GitHub Wiki sayfası veya çevrimiçi geliştirici forumları harika kaynaklardır. Mutlu kodlamalar!

Bu konuda daha fazla bilgi edinmek için resmi Ruby web sitesini ziyaret edebilirsiniz.
 
shape1
shape2
shape3
shape4
shape5
shape6
Üst

Bu web sitenin performansı Hazal Host tarafından sağlanmaktadır.

YazilimForum.com.tr internet sitesi, 5651 sayılı Kanun’un 2. maddesinin 1. fıkrasının (m) bendi ve aynı Kanun’un 5. maddesi kapsamında Yer Sağlayıcı konumundadır. Sitede yer alan içerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır.

YazilimForum.com.tr, kullanıcılar tarafından paylaşılan içeriklerin doğruluğunu, güncelliğini veya hukuka uygunluğunu garanti etmez ve içeriklerin kontrolü veya araştırılması ile yükümlü değildir. Kullanıcılar, paylaştıkları içeriklerden tamamen kendileri sorumludur.

Hukuka aykırı içerikleri fark ettiğinizde lütfen bize bildirin: lydexcoding@gmail.com

Sitemiz, kullanıcıların paylaştığı içerik ve bilgileri 6698 sayılı KVKK kapsamında işlemektedir. Kullanıcılar, kişisel verileriyle ilgili haklarını KVKK Politikası sayfasından inceleyebilir.

Sitede yer alan reklamlar veya üçüncü taraf bağlantılar için YazilimForum.com.tr herhangi bir sorumluluk kabul etmez.

Sitemizi kullanarak Forum Kuralları’nı kabul etmiş sayılırsınız.

DMCA.com Protection Status Copyrighted.com Registered & Protected