Ruby Kullanımı
ServBay, macOS üzerinde Ruby geliştiricileri için verimli ve esnek bir geliştirme ortamı sunar. ServBay'in paket yönetim sistemi sayesinde, birden fazla Ruby sürümünü paralel olarak kolayca yükleyebilir ve yönetebilirsiniz. Ayrıca, güçlü .servbay.config
dosyası ile her bir proje için gerekli Ruby sürümünü belirleyerek geliştirme sürecinizi sadeleştirir ve ortam tutarlılığını garanti altına alırsınız.
Genel Bakış
Ruby Diline Kısa Bakış
Ruby, dinamik, açık kaynaklı ve nesne yönelimli bir programlama dilidir. Sade ve zarif sözdizimi ile geliştirici verimliliğine verdiği önem sayesinde bilinir. Ruby, Japon bilgisayar bilimci Yukihiro "Matz" Matsumoto tarafından 1990'ların ortasında geliştirilmiştir. Temel felsefesi “programlamayı daha eğlenceli hale getirmek”tir. Perl, Smalltalk, Eiffel, Ada ve Lisp gibi dillerden etkilenen Ruby, kodun okunabilirliği ve sadeliğini ön plana çıkarır.
Ruby'de her şey bir nesnedir. Nesne yönelimli, prosedürel ve fonksiyonel programlama gibi farklı paradigmalara destek verir. Ruby’nin dünya çapında popülerliğini önemli ölçüde, 2004 yılında David Heinemeier Hansson (DHH) tarafından sunulan Ruby on Rails web uygulama çatısına borçludur; bu çatı, web uygulamalarının geliştirilmesini büyük ölçüde hızlandırmıştır. Bugün Ruby; web geliştirme (Rails, Sinatra), betik yazımı, otomasyon görevleri, prototipleme gibi alanlarda yaygın olarak kullanılır. Ruby ekosistemi; RubyGems (paket yöneticisi) ve Bundler (bağımlılık yöneticisi) gibi araçlara dayanır.
ServBay ile Ruby Desteği
ServBay, farklı Ruby yorumlayıcı sürümlerini bağımsız paketler olarak yönetir. Bununla aşağıdaki temel avantajları elde edersiniz:
- Çoklu Sürüm Paralel Kullanımı: Birden fazla Ruby sürümünü (örn. Ruby 2.7, 3.0, 3.3, 3.4 vb.) aynı anda yükleyebilir, sürüm çatışmalarından endişe etmeden kullanabilirsiniz.
- Proje Bazlı Sürüm Kontrolü: ServBay'e özgü
.servbay.config
dosyası sayesinde, her proje için ihtiyaç duyulan Ruby sürümünü tam olarak belirleyebilirsiniz. - Kolay Yönetim: ServBay'in görsel arayüzü üzerinden Ruby sürümlerini kolayca görebilir, yükleyebilir veya kaldırabilirsiniz.
- Entegre Gem Yönetimi: Ruby kurulduktan sonra, doğrudan
gem
komutunu kullanarak RubyGems paketlerini yönetebilirsiniz.
Farklı Ruby sürümlerine sahip eski projeleri sürdürmesi gereken, yeni projeler (örneğin Ruby on Rails uygulamaları) geliştiren veya özel Ruby araçlarıyla çalışan geliştiriciler için bu özellikler kritik önemdedir.
Ruby Paketlerine Erişim
- ServBay uygulamasını açın.
- Sol navigasyon menüsünde
Paketler (Packages)
seçeneğine tıklayın. Paketler
sayfasında aşağıya kaydırın veya sol bölmedeki alt liste üzerindenLanguages
->Ruby
yolunu seçin.- Sağda mevcut tüm Ruby paketlerinin listesi görüntülenecektir.
Ruby Kurulumu
Paket listesi; her Ruby sürümünün durumunu aşağıdaki gibi açıkça gösterir:
- Paket Adı (Package Name): Paketin adı, örneğin
Ruby 3.3
. - Sürüm (Version): Paketin belirli sürüm numarası.
- Durum (Status):
Installed
(Kurulu) veyaNot Installed
(Kurulu değil) olarak gösterilir. - Kontrol (Control): İşlem düğmeleri.
Henüz yüklü olmayan bir Ruby sürümünü kurmak için (örneğin Ruby 3.3
):
- Listeden kurmak istediğiniz sürümü bulun.
- Durumunun
Not Installed
olduğundan emin olun. - Satırın en sağındaki İndir/Yükle (Download/Install) simgesine (genellikle aşağı ok) tıklayın.
- ServBay seçilen Ruby sürümünü indirmeye ve kurmaya başlayacaktır. Bu işlem birkaç dakika sürebilir.
- Kurulum tamamlandıktan sonra, o sürümün durumu
Installed
olarak değişir ve kontrol simgesi Kaldır (Uninstall) (çöp kutusu) sembolüne dönüşür.
Yüklü Ruby Sürümlerini Yönetme
- Kurulu Sürümleri Görüntüleme: Listede
Installed
olarak işaretlenenler, mevcut ortamınızda yüklü bulunan tüm Ruby sürümlerini gösterir. - Ruby Kaldırma: Artık ihtiyacınız olmayan bir Ruby sürümünü kaldırmak için ilgili Kaldır (Uninstall) simgesine (çöp kutusu) tıklayın ve işlemi onaylayın.
Yüklü Ruby ile Çalışma
ServBay, Ruby’yi yükledikten sonra onu ServBay’in yönettiği ortam değişkenlerine ekler. ServBay ortamını terminalde etkinleştirdiğinizde, doğrudan ruby
ve gem
komutlarını kullanabilirsiniz.
Sık Kullanılan Komutlar:
Geçerli Ruby Sürümünü Kontrol Etme: Terminali açıp şunu çalıştırın:
bashruby -v
1Bu komut, terminal oturumunda varsayılan olarak etkin olan Ruby sürümünü gösterir. Bu sürüm, global ayarlara veya proje bazlı
.servbay.config
dosyasına bağlı olabilir.RubyGems Sürümünü Kontrol Etme:
bashgem -v
1Gem Paketi Kurulumu: Örneğin, popüler statik site üreticisi Jekyll'ı kurmak için:
bashgem install jekyll
1Veya Ruby on Rails framework’ünü kurmak için:
bashgem install rails
1Ruby Betiği Çalıştırma:
hello.rb
adlı bir dosya oluşturup içine şunları yazın:ruby#!/usr/bin/env ruby puts "Hello from Ruby in ServBay!"
1
2Terminalde çalıştırın:
bashruby hello.rb
1
Proje Bazlı Sürüm Yönetimi: .servbay.config
ServBay’in en büyük avantajlarından biri, proje bazlı ortam yapılandırmasını desteklemesidir. Proje klasörünüzün köküne isim olarak .servbay.config
olan bir dosya yerleştirerek, ilgili proje için kullanılacak Ruby sürümünü sabitleyebilirsiniz.
Avantajlar:
- Çoklu Dil Yönetimi: Tek dosyada Ruby, PHP, Node.js, Python, Go, Java, .NET gibi birçok dilin sürümünü belirleyebilirsiniz.
- Tutarlılık Sağlama: Ekip üyeleri veya farklı dağıtım ortamlarında tamamen aynı Ruby sürümüyle çalışmayı garanti eder.
- Otomatik Geçiş:
cd
komutuyla.servbay.config
içeren dizine geçtiğinizde, ServBay ortamı otomatik olarak bu dosyadakiRUBY_VERSION
ayarını algılayıp uygular.
Yapılandırma Örneği:
Proje kök dizininizde .servbay.config
dosyası oluşturun ve ihtiyaç duyduğunuz Ruby ana sürümünü (örneğin 2.7, 3.3) RUBY_VERSION
değişkeni ile belirtin. ServBay, yüklü olan söz konusu ana sürüm ailesindeki en güncel alt sürümü kullanacaktır.
# .servbay.config
# Projede kullanılacak Ruby ana sürümünü belirtin (ör. 3.3)
# ServBay, mevcut 3.3.x serisinin en güncel sürümünü otomatik olarak kullanır
RUBY_VERSION=3.3
# Aynı anda diğer dil sürümleri ve ayarları da belirtebilirsiniz
NODE_VERSION=18
# ... diğer ayarlar ...
2
3
4
5
6
7
8
9
Bu dizinde terminali açıp ServBay ortamını etkinleştirdikten sonra, ruby -v
komutunu çalıştırırsanız .servbay.config
dosyasında belirttiğiniz Ruby sürümü (veya o ana sürüm ailesinde yüklü en yüksek sürüm) kullanılır.
Kısa Kullanım Senaryosu
.servbay.config
kullanımını göstermek için basit bir örnek proje oluşturalım:
Proje Dizini Oluşturma:
bashmkdir my-ruby-project cd my-ruby-project
1
2.servbay.config
Dosyası Oluşturma:my-ruby-project
dizininde aşağıdaki içerikle.servbay.config
dosyası oluşturun:iniRUBY_VERSION=2.7 # Ruby 2.7.x kurulu olduğunu varsayalım
1(ServBay’de Ruby 2.7'nin yüklü olduğundan emin olun)
Ruby Betiği Oluşturma:
app.rb
dosyasını oluşturun:ruby#!/usr/bin/env ruby puts "Project is using Ruby version: #{RUBY_VERSION}"
1
2Etkinleştir ve Doğrula: (Terminalde ServBay ortamı etkin olmalı.)
my-ruby-project
dizininde çalıştırın:bashruby -v
1Çıktıda yüklediğiniz Ruby 2.7.x sürümü görünmelidir.
Betik Çalıştırma:
bashruby app.rb
1Çıktı:
Project is using Ruby version: 2.7.x
(x, kurulu olan alt sürümü gösterir).Proje Bağımlılıklarını Yükleme (Örnek): Projeniz Bundler ile yönetiliyorsa (çoğunlukla Rails projelerinde), aşağıdakileri çalıştırabilirsiniz:
bash# Eğer bundler yüklü değilse # gem install bundler bundle install
1
2
3Bundler, projedeki
Gemfile
ve mevcut aktif Ruby sürümüne (2.7.x) göre bağımlılıkları yükler.
Artık farklı bir projede Ruby 3.4 gerekiyorsa, o dizindeki .servbay.config
dosyasına yalnızca RUBY_VERSION=3.4
yazmanız yeterli; ServBay dizini değiştirdiğinizde Ruby ortamınızı otomatik olarak ayarlayacaktır.
Web Sunucusu Entegrasyonu (Rails, Sinatra vb.)
Ruby on Rails, Sinatra veya benzeri çerçevelerle geliştirilen web uygulamaları genellikle Puma, Unicorn veya Thin gibi uygulama sunucularında çalışır. Şunları yapabilirsiniz:
- ServBay’de uygulamanız için bir web sitesi (Website) oluşturun.
- ServBay’in web sunucusunu (Nginx, Caddy, Apache) ters proxy olarak yapılandırarak, belirli bir alan adından gelen istekleri Ruby uygulama sunucunuzun dinlediği porta (örn.
http://localhost:3000
veya Puma/Unicorn’un kullandığı Unix socket) yönlendirin.
Bu kurulum sayesinde ServBay’in alan adı yönetimi, otomatik HTTPS (ayarlanmışsa) ve merkezi erişim avantajlarından yararlanabilirsiniz.
Özet
ServBay, macOS’ta Ruby geliştirme deneyimini büyük ölçüde kolaylaştırır. Görsel paket yönetim arayüzü ve güçlü .servbay.config
proje bazlı sürüm kontrolü sayesinde, birden fazla Ruby sürümünü ve ilgili Gems’leri rahatlıkla yönetebilirsiniz. Böylece, farklı projeler için bağımsız ve tutarlı ortamlar sağlar, Ruby ile geliştirmenizi daha verimli hale getirirsiniz.