`require’: no such file to load — openssl (LoadError) Hatası (Ubuntu 11.10, Ruby 1.9.2, Rails 3.2.1)

Ubuntu 11.10 üzerinde Ruby on Rails kurulumu yaptıktan sonra “rails new blogUygulamasi” adı altında bir proje açmak istedik ve aşağıdaki hatayı aldık;


/home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’: no such file to load — openssl (LoadError)
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/net/https.rb:92:in `<top (required)>’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/remote_fetcher.rb:316:in `connection_for’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/remote_fetcher.rb:368:in `request’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/remote_fetcher.rb:203:in `fetch_http’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/remote_fetcher.rb:231:in `fetch_path’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/spec_fetcher.rb:265:in `load_specs’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/spec_fetcher.rb:231:in `block in list’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/spec_fetcher.rb:227:in `each’
from /home/renji/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/spec_fetcher.rb:227:in `list’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/source.rb:253:in `fetch_all_remote_specs’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/source.rb:234:in `block in remote_specs’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/source.rb:231:in `each’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/source.rb:231:in `remote_specs’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/source.rb:165:in `fetch_specs’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/source.rb:70:in `specs’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/definition.rb:176:in `block (2 levels) in index’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/definition.rb:175:in `each’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/definition.rb:175:in `block in index’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/index.rb:7:in `build’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/definition.rb:174:in `index’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/definition.rb:168:in `resolve’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/definition.rb:107:in `specs’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/definition.rb:102:in `resolve_remotely!’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/installer.rb:43:in `run’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/installer.rb:8:in `install’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/cli.rb:219:in `install’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/vendor/thor/task.rb:22:in `run’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/vendor/thor.rb:263:in `dispatch’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/vendor/thor/base.rb:386:in `start’
from /home/renji/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/bin/bundle:13:in `<main>’
Fetching source index for https://rubygems.org/

 


Bu durumda yapmanız gerekenleri aşağıda anlatıyor olacağım.

Başlıkta da belirttiğim gibi bu hatayı aldığım sistem: Ubuntu 11.10, Ruby 1.9.2, Rails 3.2.1 versiyonları.

Bu hata openssl dosyası içindeki  extconf.rb dosyasının çalıştırılmamasından kaynaklanıyor. İlk önce bu dosyayı bulmalıyız.

Eğer rvm kullanarak Ruby yüklediyseniz bu dosyanın adresi: home/Kullanıcı_adı/.rvm/src/ruby-1.9.2-p290/ext/openssl

“.rvm” dosyasını görmek için: üst menüden view/show hiden files seçeneğini işaretlemeniz gerekiyor

Bu adresi şimdi terminalde yazalım çünkü işlemleri terminalde gerçekleştireceğiz:

cd home/renji/.rvm/src/ruby-1.9.2-p290/ext/openssl

Buundan sonra sırayla:

ruby extconf.rb
make
sudo make install

Bu kodları girdiğimizde terminal bizim için derleme işlemlerini yapacaktır. Artık yeni projenizi oluşturmanız için openssl sorunu kalmamış olacaktır.

Renkli günler…

Hackathon ardından

Merhabalar,

Bu yazıyı aslında biraz geciktirdim. Geciktirme sebebim yarışma sonuçlarının açıklanmasını beklememdi. Haydi tamam birazda sıkışan derslerin etkisi var.

Rails Arena bana muhteşem bir haftasonu yaşattı. Şubat ayı başında duyduğum yarışma beni iliklerime kadar heyecanlandırdı. Yarışma Ruby on Rails kullanarak bir web projesi geliştirme yarışmasıydı. Bende sağdan soldan araştırırken tanıştım Ruby on Rails ile. 1 gün, 2 gün derken bir baktım ki baya zevkliymiş bu iş! Diğer dillere göre kullanım kolaylığı olan, senin düşündüklerini koda dökmen ve onun anlaması… Müthiş! Gerçekten yazımı kolay bir dil Ruby. İnternette de diğer dillere oranla çok daha zevkli, maceralı çeşit çeşit alıştırmaları, uygulamaları mevcut. İşte tüm bunlar beni Ruby on Rails alemine dalmaya teşvik etti. Aynı zamanda ara dönem stajımı yaparken bir yandan da Ruby on Rails ile çalışmalara başladım.

Şimdi bakıyorum, 1 ayda kendi standartlarıma göre çok daha fazla ilerleme katetmişim. Tabiki bu Hackathon sayesinde oldu.

Yarışmalara karşı birazcık çekingen bir insanımdır. Ama bu sefer “Haydi Türker!” diyerek bir cesaretle girdim yarışmaya. Ha ne oldu, ne yaptın diye sorarsanız sağlıklı bir uygulama yazamadım. Aklımda tatlı bir tasarım vardı ama entegrasyonları yapamadığım, kod bazında bocaladığım için projemi ayağa kaldıramadım. Ama birde neler öğrendin derseniz yaz yaz parmaklarım yorulur. İnsan kesinlikle yarışma ruhunu tatmalı, o heyecanı, heyecanın verdiği konsantreyi bilmeli diye düşünüyorum artık.

Ben Ruby on Rails çalışmaya boş vakit buldukça devam edeceğim. Kim bilir bir dahaki yarışmada belki benim ismimi de göreceksiniz. Yarışma gününde Rails Arena ekibinin paylaştığı acayip hoşuma giden bir video ile kapanışı yapıyorum.

Renkli günler…


Tak sapkani gidiyoruz makinist! Ruby on Rails GitHub ve Heroku

DSCN0192Merhabalar,

Ruby on Rails demiryolunda kucuk trenimizi hazirlayip yola cikma vakti geldi makinist! Bir onceki makalemde Mac OS X icin Ruby on Rails Kurulumundan bahsetmistim. Bu yazimda ise hizli bir proje olusturumu ve bunu GitHub hesabina aktarimi ve Heroku’da deployement konusunu anlatacagim.

Ruby on Rails Tutorial kitabinda Michael Hartl ayrintili bir sekilde GitHub ve Heroku’yu anlatmis, nasil kodlar yazilacagini gostermistir. Bu kitabi inceleyerekten ise baslarsaniz faydali olacagini dusunuyorum. Fakat siz de benim gibi yeniyseniz ve bu kitapta anlatilanlara cok dalarsaniz nerede oldugunuzu sasirip yolunuzu kaybedeceksiniz. Ben yolumu kaybettikten sonra cetrefilli bir ugras sonucunda dogru yola geri dondum. Tecrubelerimi buradan iletmek isterim.

Ruby, SQLite ve Rails kurulumlarimiz hazirsa simdi yeni uygulamamizi olusturalim. Ben anlatacagim butun islemlerde Mac OS X platformu kullaniyor olacagim. Anlattigim islemler farkli platformlarda farkli sekillerde uygulaniyor olabilir ama genel mantigin degisecegini sanmiyorum.

Yeni bir web uygulamasi olusturmak

Terminali acip bilgisayarinizda olusturdugunuz rails proje dosyasina geliniz. Ben Documents altinda project adi altinda bir dosyaya kayitlarimi aliyorum. Terminalde “cd” komutu ile belirttiginiz dosyaya gider, “cd ..”  komutu ile de o an bulundugunuz dizinin bir ust dizinine geri donersiniz. Ben dizinime gidiyorum:

Mustafa-Turker-Gultepes-MacBook-Air:~ mturkergultepe$ cd Documents/projects

Buraya gittigimde komut satirim soyle gozukecek:

Mustafa-Turker-Gultepes-MacBook-Air:projects mturkergultepe$

“projects” in iceride oldugunu farkettiniz mi?

Projemin ismi zangetsu olacak:

Mustafa-Turker-Gultepes-MacBook-Air:projects mturkergultepe$ rails new zangetsu

Bunu dedikten sonra birazcik bekleyecegiz, zaten terminal ekraninda olusturulan dosyalari goreceksiniz.

Bu asamadan sonra projemizi GitHub deposuna gonderecegiz. Bunun icin yine Michael Hartl’in kitabindaki Version control with Git kismina incelemeniz icin sizi yonlendiriyorum. Orada Installing Git section of Pro Git adli bir link goreceksiniz. O linkten Git yuklemenizi yapip, terminalde projenizin oldugu dizinin icine girip asagida yazmis oldugum kodu calistirmalisiniz.

Mustafa-Turker-Gultepes-MacBook-Air:zangetsu mturkergultepe$ git init

Ve butun dosyalarimizi ekliyoruz:

Mustafa-Turker-Gultepes-MacBook-Air:zangetsu mturkergultepe$ git add .

Tum verilerimizi commit ediyoruz:

Mustafa-Turker-Gultepes-MacBook-Air:zangetsu mturkergultepe$ git commit -m “first commit”

Tum verilerimiz commit olduktan sonra sira geldi Heroku iliskilendirmesine.

Ilk once Heroku yuklemesini aliyoruz:

Mustafa-Turker-Gultepes-MacBook-Air:zangetsu mturkergultepe$ gem install heroku

Simdi create islemi:

Mustafa-Turker-Gultepes-MacBook-Air:zangetsu mturkergultepe$ heroku create –stack cedar

(create teriminden sonra iki arka arkaya tire vardir. “–“) Su ana kadar bir Heroku hesabiniz yoksa buyrun buradan ucretsiz alabilirsiniz. create komutunu verdigimizde terminalde bir link goreceksiniz. Heroku hesabimiz o linke gecisi saglayacak ve projenizin orada calistigini goreceksiniz. Terminalde yazan linki kopyala – yapistir ugrasmadan su komutla:

heroku open

varsayilan tarayicinizda calistirabilirsiniz.

Evet sevgili makinist, yola basladik ve artik yaptigimiz uygulamalara derinlemesine dalabiliriz. Ee yeni vagonlar gerek degil mi?

Renkli gunler…

Mac OS X icin Ruby on Rails Kurulumu

Ruby-on-Rails-Development

Merhabalar,

Her yeni IDE ya da programlama yapmak icin yeni platformlar yukledigimizde bir dizi sorunlarla karsilasiriz. Basimiz agrir. Tam sorunlari halledince bir dizi daha eklenir. Hevesimiz kacar. (Dacia reklami gibi oldu :)) Ben de Ruby yukleme macerama aslinda boyle basladim. Tam ipler gerilmeye basladigi bir anda asagidaki siteyi buldum. Sitede, Ruby 1.9 yukemesinden baslayarak sirayla asamalari uyguladiginizda, sisteminizde, Ruby 1.9, SQLite3 ve Rails 3 yuklenmis olacak.

Ben buradaki islemleri uygularken karsilastigim tek sorun SQLite3 3.7.9 yukleyememedi. Ama bendeki 3.7.5 surumu su anda calismalarim icin yetiyor.

Buyrun link:

http://pragmaticstudio.com/blog/2010/9/23/install-rails-ruby-mac

Renkli gunler…