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.
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.
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:
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`).
Değişiklikleri etkinleştirmek için kabuğunuzu yeniden başlatın veya kaynak dosyanızı tekrar yükleyin:
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.
Homebrew ile Kurulum (macOS için)
Homebrew kullanıyorsanız, kurulum çok daha basittir:
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:
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:
Çı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.
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:
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.
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:
Ortak Sorunlar ve İpuçları
Ruby Sürümü Kaldırma
Belirli bir Ruby sürümünü kaldırmak isterseniz:
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:
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.
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
Kod:openssl
Kod:brew install openssl@1.1 # veya openssl@3 brew link --force openssl@1.1 # veya openssl@3
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
Kod:rbenv rehash
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
Kod:PATH
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.