Takip et

CentOS 6.5 Üzerine RVM Kullanarak Ruby 2.1.0 Kurulumu: Adım Adım Kapsamlı Rehber

CentOS 6.5 Üzerine RVM Kullanarak Ruby 2.1.0 Kurulumu: Adım Adım Kapsamlı Rehber Giriş Ruby, web uygulamalarından sistem otomasyonuna kadar gen

CentOS 6.5 Üzerine RVM Kullanarak Ruby 2.1.0 Kurulumu: Adım Adım Kapsamlı Rehber

Giriş

Ruby, web uygulamalarından sistem otomasyonuna kadar geniş bir yelpazede kullanılan dinamik, açık kaynaklı bir programlama dilidir. Özellikle Ruby on Rails çatısı ile birlikte popülerliği artmıştır. Geliştiricilerin farklı projeler için farklı Ruby sürümlerine ihtiyaç duyması, sürüm yöneticilerinin önemini ortaya çıkarmıştır. RVM (Ruby Version Manager), bu ihtiyacı karşılayan en popüler araçlardan biridir. RVM, tek bir makine üzerinde birden fazla Ruby sürümünü ve her sürüm için ayrı gem setlerini yönetmenizi sağlar. Bu sayede, farklı projelerin bağımlılıkları birbirine karışmadan izole bir şekilde çalışabilir.

Bu makalede, CentOS 6.5 işletim sistemi üzerine RVM kullanarak Ruby 2.1.0 sürümünün nasıl kurulacağını adım adım detaylı bir şekilde açıklayacağız. CentOS 6.5, eski bir sürüm olmasına rağmen, bazı kurumsal veya eski sistemlerde hala kullanımda olabilir ve bu tür sistemlerde belirli Ruby sürümlerine ihtiyaç duyulabilir. Ruby 2.1.0, 2014 yılında piyasaya sürülen ve birçok eski Rails uygulamasının hala kullandığı kararlı bir sürümdür. Bu rehber, hem yeni başlayanlar hem de deneyimli sistem yöneticileri için kapsamlı bir kaynak olmayı hedeflemektedir. Kurulum sürecinde karşılaşabileceğiniz olası sorunlara ve çözümlerine de değineceğiz.

Ön Gereksinimler

Kuruluma başlamadan önce aşağıdaki ön gereksinimlerin karşılandığından emin olunuz:

CentOS 6.5 İşletim Sistemi

Kurulumu yapacağınız bir CentOS 6.5 sunucusuna veya sanal makinesine sahip olmanız gerekmektedir. Makalenin odak noktası bu spesifik işletim sistemi sürümüdür.

Sudo Yetkilerine Sahip Bir Kullanıcı

Sisteme SSH üzerinden erişebilen ve sudo komutunu kullanarak root yetkileriyle işlem yapabilen bir kullanıcı hesabınız olmalıdır. Root kullanıcısı ile doğrudan işlem yapmak yerine sudo kullanılması güvenlik açısından daha doğru bir yaklaşımdır.

İnternet Bağlantısı

Gerekli paketleri indirmek ve RVM’i kurmak için sunucunuzun aktif bir internet bağlantısına sahip olması şarttır.

Temel Linux Komut Satırı Bilgisi

Bu rehberdeki adımları uygulayabilmek için temel Linux komutlarına (örn. cd, ls, mkdir, yum, sudo, curl) aşina olmanız beklenmektedir.

Sistem Güncellemesi ve Temel Bağımlılıkların Kurulumu

Ruby’yi derlemek ve RVM’i sorunsuz bir şekilde çalıştırmak için bazı sistem bağımlılıklarının ve geliştirme araçlarının kurulu olması gerekmektedir. İlk adım olarak, sisteminizi güncelleyip gerekli paketleri kuracağız.

Sistem Güncellemesi

Sisteminizdeki mevcut paketleri en güncel sürümlerine yükseltmek, olası bağımlılık çakışmalarını önleyecektir.

sudo yum update -y

Bu komut, tüm yüklü paketleri günceller ve -y parametresi, onay gerektiren tüm soruları otomatik olarak “evet” olarak yanıtlar.

Gerekli Geliştirme Araçları ve Kütüphanelerin Kurulumu

Ruby’nin kaynak koddan derlenebilmesi için çeşitli geliştirme araçlarına ve kütüphanelere ihtiyaç vardır. Aşağıdaki komut, bu bağımlılıkların çoğunu kuracaktır:

sudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel \
openssl-devel libyaml-devel libffi-devel iconv-devel \
gdbm-devel ncurses-devel git curl

Bu paketlerin her birinin ne işe yaradığına kısaca değinelim:
* gcc-c++: C ve C++ derleyicisi. Ruby’nin derlenmesi için temel gereksinimdir.
* patch: Kaynak kodlara yama uygulamak için kullanılır.
* readline ve readline-devel: Ruby’nin etkileşimli kabuğunda (IRB) komut geçmişi ve düzenleme özellikleri için gereklidir. readline-devel paketi, readline kütüphanesinin geliştirme dosyalarını içerir.
* zlib ve zlib-devel: Sıkıştırma/açma işlemleri için kullanılır. Ruby’nin bazı kütüphaneleri ve gem’leri için gereklidir.
* openssl-devel: SSL/TLS şifreleme protokolleri için gerekli geliştirme dosyalarını sağlar. Ruby’nin HTTPS üzerinden iletişim kurabilmesi için önemlidir.
* libyaml-devel: YAML (YAML Ain’t Markup Language) ayrıştırma kütüphanesinin geliştirme dosyaları. Ruby’nin YAML dosyalarını okuyabilmesi için gereklidir.
* libffi-devel: Foreign Function Interface kütüphanesinin geliştirme dosyaları. Ruby’nin C kütüphaneleriyle etkileşim kurmasını sağlar.
* iconv-devel: Karakter seti dönüştürme kütüphanesinin geliştirme dosyaları.
* gdbm-devel: GNU DBM (Database Manager) kütüphanesinin geliştirme dosyaları.
* ncurses-devel: Terminal tabanlı uygulamalar için geliştirme kütüphaneleri.
* git: RVM’in kendisi ve bazı Ruby projeleri için kaynak kontrol sistemi.
* curl: RVM kurulum betiğini indirmek için kullanılır.

Bu paketlerin kurulumu, Ruby’nin derlenmesi sırasında oluşabilecek birçok hatayı engelleyecektir.

RVM Kurulumu

Gerekli sistem bağımlılıkları kurulduktan sonra, RVM’i kurmaya geçebiliriz. RVM kurulumu genellikle birkaç basit adımdan oluşur.

GPG Anahtarını İçe Aktarma

RVM kurulum betiğinin güvenliğini doğrulamak için, RVM geliştiricilerinin GPG anahtarını sisteminize aktarmanız önerilir. Bu, indirilen betiğin gerçekten RVM ekibinden geldiğini ve değiştirilmediğini garanti eder.

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

Bu komut, belirtilen GPG anahtarını keys.gnupg.net sunucusundan alır ve yerel GPG anahtar halkasına ekler. Eğer bu adımda bir hata alırsanız, internet bağlantınızı veya GPG anahtar sunucusuna erişiminizi kontrol edin.

RVM Yükleme Komutu

GPG anahtarı içe aktarıldıktan sonra, RVM’i yüklemek için curl komutunu kullanacağız.

curl -sSL https://get.rvm.io | bash -s stable

Bu komutun detayları:
* curl -sSL https://get.rvm.io: RVM kurulum betiğini get.rvm.io adresinden indirir.
* -s: Sessiz mod (ilerleme çubuğunu ve hata mesajlarını gizler).
* -S: Hata durumunda hata mesajlarını gösterir (sessiz mod ile birlikte kullanıldığında).
* -L: Yönlendirmeleri takip eder.
* | bash -s stable: İndirilen betiği bash yorumlayıcısı ile çalıştırır ve RVM’in “stable” (kararlı) sürümünü kurmasını söyler.
* Daha önce curl -sSL https://get.rvm.io | bash -s stable --ruby komutu kullanılırdı, ancak belirli bir Ruby sürümünü kurmak istediğimiz için RVM’i önce tek başına kurup sonra Ruby’yi ayrı olarak kurmak daha esnek bir yaklaşımdır.

Kurulum tamamlandığında, RVM’in başarıyla yüklendiğine dair bir mesaj göreceksiniz. Bu işlem, kullanıcınızın ana dizininde (~/.rvm) RVM dosyalarını oluşturur.

RVM Ortamını Yükleme

RVM kurulduktan sonra, kabuğunuzun (shell) RVM komutlarını tanıyabilmesi için RVM ortamını yüklemeniz gerekir. Bu genellikle bir source komutu ile yapılır.

source /etc/profile.d/rvm.sh

veya

source ~/.rvm/scripts/rvm

Bu komutlardan birini çalıştırdıktan sonra, RVM komutları kabuğunuzda kullanılabilir hale gelecektir. Bu komutu her yeni terminal oturumunda çalıştırmamak için, RVM kurulumu genellikle kullanıcının .bashrc veya .bash_profile dosyasına gerekli satırları ekler. Bu nedenle, genellikle terminali kapatıp yeniden açmak veya yeni bir terminal oturumu başlatmak da yeterli olabilir.

RVM Kurulumunu Doğrulama

RVM’in doğru bir şekilde kurulup kurulmadığını kontrol etmek için sürümünü sorgulayabilirsiniz:

rvm -v

Bu komut, RVM’in kurulu sürümünü göstermelidir (örn. rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski [https://rvm.io]). Eğer bir hata alırsanız, source komutunu doğru çalıştırdığınızdan veya terminali yeniden başlattığınızdan emin olun.

Ruby 2.1.0 Kurulumu

RVM başarıyla kurulduktan sonra, artık belirli Ruby sürümünü, yani Ruby 2.1.0’ı kurmaya hazırsınız.

Gerekli Ruby Bağımlılıklarını Kontrol Etme

RVM, bir Ruby sürümünü kurmadan önce gerekli sistem bağımlılıklarını kontrol etmenizi sağlayan kullanışlı bir komuta sahiptir. Bu komut, henüz yüklenmemiş olabilecek ek bağımlılıkları size bildirebilir.

rvm requirements

Bu komut, Ruby’yi derlemek için gerekli olan kütüphanelerin bir listesini ve bunların nasıl kurulacağına dair talimatları gösterecektir. Eğer daha önce tüm bağımlılıkları kurduysanız, “All requirements met.” (Tüm gereksinimler karşılandı) benzeri bir mesaj görmelisiniz. Aksi takdirde, eksik olan paketleri sudo yum install komutuyla yüklemeniz gerekebilir.

Ruby 2.1.0 Sürümünü Yükleme

Şimdi Ruby 2.1.0’ı RVM aracılığıyla yükleyebiliriz. RVM, Ruby’nin kaynak kodunu indirir, derler ve kendi yönettiği dizine kurar.

rvm install 2.1.0

Bu komutun çalışması biraz zaman alabilir (genellikle 5-15 dakika, sunucunun performansına ve internet bağlantınıza bağlı olarak). RVM, Ruby’yi derlerken ilerlemeyi terminalde gösterecektir. Derleme işlemi sırasında herhangi bir hata oluşursa, genellikle eksik bir bağımlılık veya derleyici sorunundan kaynaklanır. Bu durumda, hata mesajlarını dikkatlice okuyarak sorunu teşhis etmeye çalışın.

Kurulum başarıyla tamamlandığında, RVM size Ruby 2.1.0’ın başarıyla kurulduğunu bildiren bir mesaj gösterecektir.

Yüklü Ruby Sürümlerini Listeleme

Sisteminizde RVM tarafından yönetilen Ruby sürümlerini görmek için aşağıdaki komutu kullanabilirsiniz:

rvm list

Bu komut, yüklü Ruby sürümlerini ve şu anda hangi sürümün kullanıldığını (genellikle => işareti ile belirtilir) listeleyecektir. Ruby 2.1.0’ın listede yer aldığını görmelisiniz.

Ruby 2.1.0 Sürümünü Varsayılan Olarak Ayarlama

Kurulumdan sonra, RVM genellikle yeni kurulan Ruby sürümünü otomatik olarak o oturum için kullanıma sokar. Ancak, her yeni terminal oturumu açtığınızda Ruby 2.1.0’ın otomatik olarak seçilmesini sağlamak için onu varsayılan sürüm olarak ayarlamanız gerekir:

rvm use 2.1.0 --default

Bu komut, Ruby 2.1.0’ı mevcut oturumunuz için etkinleştirir ve aynı zamanda onu RVM’in varsayılan Ruby sürümü olarak ayarlar. Böylece, bir sonraki terminal oturumunuzda otomatik olarak Ruby 2.1.0 kullanılacaktır.

Ruby Kurulumunu Doğrulama

Ruby 2.1.0’ın doğru bir şekilde kurulduğunu ve varsayılan olarak ayarlandığını doğrulamak için aşağıdaki komutları kullanabilirsiniz:

ruby -v

Bu komut, ruby 2.1.0p0 (2014-01-09 revision 44790) [x86_64-linux] benzeri bir çıktı vermelidir.

which ruby

Bu komut, kullanılan ruby yürütülebilir dosyasının yolunu göstermelidir. RVM ile yüklendiği için yol ~/.rvm/rubies/ruby-2.1.0/bin/ruby benzeri bir şey olmalıdır.

gem env

Bu komut, RubyGems ortamı hakkında detaylı bilgi verir. RUBY VERSION alanında 2.1.0’ı ve GEM PATHS alanında RVM tarafından yönetilen dizinleri görmelisiniz.

Gemset Kullanımı

RVM’in en güçlü özelliklerinden biri, her Ruby sürümü için ayrı “gemset”ler oluşturabilmesidir. Bir gemset, belirli bir Ruby sürümü altında yüklü olan gem’lerin izole bir koleksiyonudur. Bu, farklı projelerinizin farklı gem bağımlılıklarına sahip olmasını ve bu bağımlılıkların birbirini etkilememesini sağlar.

Gemset Nedir?

Diyelim ki bir projeniz Rails 3 kullanıyor ve Ruby 2.1.0 gerektiriyor. Başka bir projeniz ise Rails 4 kullanıyor ve yine Ruby 2.1.0 üzerinde çalışıyor. Bu iki proje farklı Rails sürümleri kullandığı için, aynı Ruby sürümü altında farklı Rails gem’lerine ihtiyaç duyacaktır. Gemsetler sayesinde, her projeye kendi gem’lerini barındıran ayrı bir ortam sağlayabilirsiniz. Bu, “gem hell” olarak bilinen bağımlılık çakışmalarını önler.

Yeni Bir Gemset Oluşturma

Mevcut Ruby 2.1.0 sürümünüz için yeni bir gemset oluşturmak için aşağıdaki komutu kullanabilirsiniz:

rvm gemset create my_project_name

my_project_name yerine projenizin adını veya tanımlayıcı bir isim kullanmalısınız. Örneğin, bir Rails uygulamanız varsa rvm gemset create myapp_rails3 gibi bir isim verebilirsiniz.

Gemseti Kullanma

Oluşturduğunuz gemseti kullanmak için Ruby sürümü ile birlikte gemset adını belirtmeniz gerekir:

rvm use 2.1.0@my_project_name

Bu komut, kabuğunuzu Ruby 2.1.0 ve my_project_name gemseti ortamına geçirir. Bu ortamda yükleyeceğiniz tüm gem’ler, bu gemsetin içine yerleştirilecektir. gem list komutunu çalıştırarak bu gemsette yüklü olan gem’leri görebilirsiniz (başlangıçta sadece varsayılan gem’ler olacaktır).

Gemsetler Arasında Geçiş

Farklı projeler üzerinde çalışırken gemsetler arasında kolayca geçiş yapabilirsiniz:

rvm use 2.1.0@another_project

Varsayılan gemsete geri dönmek için sadece Ruby sürümünü belirtmeniz yeterlidir:

rvm use 2.1.0

Bu komut, 2.1.0 sürümünün varsayılan gemsetine (genellikle @global veya adlandırılmamış bir gemset) geri döner.

Gemset Silme

Bir gemseti artık kullanmıyorsanız, onu silebilirsiniz:

rvm gemset delete my_project_name

Dikkat: Bu komut, gemset içindeki tüm gem’leri kalıcı olarak silecektir. Silmeden önce yedekleme yapmanız veya önemli bir veri olmadığından emin olmanız tavsiye edilir.

Sorun Giderme ve Yaygın Hatalar

Kurulum sürecinde veya sonrasında bazı sorunlarla karşılaşabilirsiniz. İşte yaygın sorunlar ve olası çözümleri:

Derleme Hataları

Ruby 2.1.0’ı rvm install 2.1.0 komutuyla kurarken derleme hataları alıyorsanız:
* Eksik Bağımlılıklar: En yaygın nedenlerden biridir. rvm requirements komutunu tekrar çalıştırın ve eksik olan herhangi bir paketi sudo yum install ile kurun. Özellikle openssl-devel, readline-devel, zlib-devel, libyaml-devel gibi paketlerin kurulu olduğundan emin olun.
* openssl veya readline ile İlgili Sorunlar: CentOS 6.5’teki varsayılan openssl veya readline sürümleri bazen Ruby’nin daha yeni sürümleriyle (veya RVM’in derleme mekanizmasıyla) çakışabilir. Gerekirse bu paketleri güncellemeyi veya RVM’in kendi bağımlılık yönetimi araçlarını kullanmayı deneyin.
* Eski gcc Sürümü: CentOS 6.5’teki varsayılan gcc sürümü Ruby 2.1.0 için yeterli olsa da, daha yeni Ruby sürümleri için sorun olabilir. Eğer daha yeni bir gcc sürümüne ihtiyacınız olursa, CentOS’ta devtoolset gibi araçları kullanarak daha yeni derleyici setlerini kurabilirsiniz. Ancak Ruby 2.1.0 için bu genellikle gerekli değildir.

PATH Sorunları

rvm, ruby, gem gibi komutları çalıştırdığınızda “command not found” (komut bulunamadı) hatası alıyorsanız:
* source Komutunun Unutulması: RVM’i kurduktan sonra source /etc/profile.d/rvm.sh veya source ~/.rvm/scripts/rvm komutunu çalıştırmayı unutmuş olabilirsiniz. Mevcut terminal oturumunuzda bu komutu çalıştırın.
* Kalıcı PATH Ayarı: Eğer terminali kapatıp açtığınızda sorun devam ediyorsa, RVM’in PATH ayarlarının .bashrc veya .bash_profile dosyanıza doğru bir şekilde eklendiğinden emin olun. RVM kurulumu genellikle bu dosyaları otomatik olarak günceller, ancak bazen manuel müdahale gerekebilir. Dosyanın sonunda [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" benzeri bir satır olmalıdır.

RVM Yükleme Hataları

curl -sSL https://get.rvm.io | bash -s stable komutu sırasında hata alıyorsanız:
* GPG Anahtarı Sorunları: GPG anahtarını doğru bir şekilde içe aktardığınızdan emin olun. Anahtar sunucusuna erişim sorunları olabilir.
* İnternet Bağlantısı: Sunucunuzun aktif bir internet bağlantısına sahip olduğundan emin olun. ping google.com gibi bir komutla bağlantıyı test edebilirsiniz.
* curl Paketi Eksik: curl paketinin yüklü olduğundan emin olun (sudo yum install curl).

Ruby 2.1.0’dan Sonraki Adımlar

Ruby 2.1.0’ı RVM ile başarıyla kurduktan sonra, bu ortamı kullanarak çeşitli geliştirmeler yapmaya başlayabilirsiniz.

Rails Kurulumu

Eğer amacınız Ruby on Rails uygulamaları geliştirmekse, Ruby 2.1.0 ortamında Rails’i kurabilirsiniz. Ruby 2.1.0, Rails’in 4.x ve hatta bazı 3.x sürümleriyle uyumludur.

gem install rails -v 4.2.11 # Veya ihtiyacınız olan başka bir Rails sürümü

Bu komut, belirtilen Rails sürümünü mevcut gemsetinize yükleyecektir.

Gerekli Gem’lerin Yüklenmesi

Mevcut bir Ruby projeniz varsa, projenin bağımlılıklarını bundler kullanarak yükleyebilirsiniz. Öncelikle bundler gem’ini kurmanız gerekir:

gem install bundler

Daha sonra, projenizin kök dizininde bundle install komutunu çalıştırarak Gemfile dosyasında belirtilen tüm bağımlılıkları yükleyebilirsiniz:

cd /path/to/your/project
bundle install

Uygulama Dağıtımı

Ruby 2.1.0 ve Rails (varsa) kurulu olduğuna göre, uygulamalarınızı bu ortamda geliştirebilir ve dağıtabilirsiniz. Bir web sunucusu (Nginx veya Apache) ve bir uygulama sunucusu (Puma, Unicorn veya Passenger) kullanarak Rails uygulamanızı canlıya alabilirsiniz. Bu adımlar, bu makalenin kapsamı dışında olmakla birlikte, Ruby kurulumunuzun bir sonraki aşamasını oluşturur.

Sonuç

Bu kapsamlı rehberde, CentOS 6.5 işletim sistemi üzerine RVM kullanarak Ruby 2.1.0 sürümünün nasıl kurulacağını adım adım öğrendiniz. RVM, farklı Ruby sürümlerini ve gemsetlerini yönetme yeteneği sayesinde geliştiricilere büyük esneklik sağlar. Eski sistemlerde belirli Ruby sürümlerine bağımlı projeleri yönetmek için vazgeçilmez bir araçtır.

Başlangıçta sistem bağımlılıklarının kurulmasından, RVM’in yüklenmesine, Ruby 2.1.0’ın derlenmesine ve varsayılan olarak ayarlanmasına kadar her adımı detaylıca ele aldık. Ayrıca, gemsetlerin ne işe yaradığını ve nasıl kullanılacağını öğrendiniz, bu da projelerinizin bağımlılıklarını temiz ve izole tutmanıza yardımcı olacaktır. Karşılaşabileceğiniz yaygın sorunlara ve bunların nasıl giderileceğine dair ipuçları da verdik.

Artık CentOS 6.5 sunucunuzda Ruby 2.1.0 ortamınız hazır ve Ruby tabanlı uygulamalarınızı geliştirmeye veya mevcut uygulamalarınızı çalıştırmaya başlayabilirsiniz. RVM’in gücünü kullanarak, gelecekte farklı Ruby sürümlerine geçiş yapmanız gerektiğinde bile esnekliğinizi koruyacaksınız. Unutmayın, iyi bir geliştirme ortamı oluşturmak, verimli ve sorunsuz bir geliştirme süreci için temel adımdır.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.