Anasayfa / FAQ / Ruby Script Dosyalarından Çalıştırılabilir Dosya (exe) Oluşturmak

Ruby Script Dosyalarından Çalıştırılabilir Dosya (exe) Oluşturmak

Emacsİlk olarak maalesef ülkemizde pek hakettiği itibarı göremeyen Ruby Diline emek verdiğiniz için teşekkür edeyim. Bildiğiniz üzere Ruby derlenen bir dil değil yorumlanan bir dil ancak projelerimizi değişik platformlarda kolayca çalıştırılabilir hale getirmek isteyeceğiz elbet. Bu durumda Windows platformu için en popüler ve bilinen araç olan ‘OCRA’ üzerine odaklanmamız gerekecek.

Ocra’nın dökümantasyonuna ‘http://ocra.rubyforge.org/’ adresinden ulaşabilecek olsanız da bu yazı yazlıldığında veri tabanı aktarılmamamış olduğundan bu dökümanı hazırlamama ihtiyaç olduğunu düşündüm.

Öncelikle sisteminizde rubygems kullanabiiliyor olmanız gerektiğini belirteyim.

gem install ocra

Bir kere Ocra isimli gem kurulduktan sonra aşağıdaki söz dizimi ile komut olarak kullanabilmeniz mümkündür:

ocra [opsiyonlar] dosya.rb varsa_diger_dosya.rb [varsa_tüm_diğer_dosyalar] --[script-argümanları]

Daha detaylı bir açıklama için:

ocra --help

Burada bilmemiz gereken en önemli nokta dönüştürmeden sonra projemizin muhakkak çalışmasını sağlayabilecek bu opsiyonlardır.

Eğer projemiz çeşitli gem bağımlıkları içeriyorsa bu gemleri Gemfile isimli dosyada (uzantısız olarak) belli bir format kuralıyla kaydetmeliyiz. Format için kafa yormaktansa Rubygems.org web sitesindenden gem ile ilgili sayfaya gelip  sağ köşedeki gemfile başlığı altındaki kod bloğunun sağındaki pano simgesine tıklayıp Gemfile dosyanınız içine yapıştırabilirsiniz. Bu işlemi tamamladıktan sonra yapmanız gereken dosyanın ilk satırına aşağıdaki ibareyi eklemek:

source 'https://rubygems.org'

Bu işlem de tamamlanınca dosyayı kaydedip çıkabilirsiniz.  Şimdi sisteminizde olması gereken bir gem var onu kuralım.

gem install bundler

Bu çok faydalı aracımızı da kurduktan sonra tercihen exe olarak dönüştürülecek ilk scriptimizde require edelim. Bu aşamayı de tamamlayınca ilk yapacağımız bahsi geçen opsiyonlardan –gemfile opsiyonunu tanımak bizim için bu opsiyon:

--gemfile Gemfile

olacaktır. Böylece dosyada adı geçen gemler de exe ile birlikte paketlenecek. Böylelikle umuyoruz ki bağımlılık sorunlarını da aşmış olacağız.

//BU KISIM TÜMÜYLE OPSİYONELDİR
Pimpirikliliği elden bırakmak huyum olmadığından bir klasör oluşturulalım sorun-gidericiler diye. Bu klasörün içine bir metin dosyası oluşturacağız (misal gereksinimler.txt) ve bu metin dosyasının içine de sırasıyla:

gem install bundler
bundle install

komutlarını ekleyip kaydedip sonra dosyanın adını değiştirirken uzantısını bat yapalım txt yerine ve bu klasöre Gemfile dosyamızı da kopyalayacağız

Her zaman biraz pimpirikli olmak faydalıdır şahsi kanaatimce. O yüzden bir adet de install scripti oluşturduktan sonra onu içine de:

require 'bundler
exec('bundle install')

yazalım ve exe olarak dönüştürelim. Sonra scripti silebilirsiniz isterseniz.

Şimdi sorun-giderme klasörümüzün tek eksiği bir OKUBENİ.txt dosyası.
Bu dosyayı oluşturup içinde Eğer programınız çalışmıyorsa sisteminizde Ruby kurulu olması gerekiyor olabilir lütfen https://s3.amazonaws.com/railsinstaller/Windows/railsinstaller-3.3.0.exe adresindeki kurulumu indirip tamamladıktan sonra install ya da gereksinimler dosyasına çift tıklayarak çalıştırın yazabilirsiniz mesela.
//BU KISIM TÜMÜYLE OPSİYONELDİR

Ocra çalışma yapısı gereği sisteminizdeki ruby kurulumunu Gemfile içinde yer alan gemleri be belirttiğiniz scripttlerdeki gemleri exe içerisinde paketleyecektir. Hatta Ruby kurulumunuzun dll dosyalarını da.

Bunun yanı sıra diğer uyumluluk giderecek opsiyonlara da şöyle bir göz gezdirelim:

–windows # Uygulamayı Windows uygulaması gibi çalışmaya zorlayacaktır.

–console    # Uygulamayı konsol uygulaması gibi çalışmaya zorlayacaktır.

–icon <icon_dosyasi> # Uygulamanon varsayılan simgesi değişecek

–add-all-core # Tüm Ruby çekirdek kütüphaneleri exe içerisine eklenir

–dll <dlladi>  # Ruby kurulumunu içeren bin klasörü içinden spesifik bir dll ekleyebilirsiniz.

–verbose # Tüm aşamalarla ilgili daha detaylı ekran çıktıları

Ayrıca diğer önemli Gem içeriği tespit etme opsiyon ibareleri:

guess # scriptleri ve diğer dosyaları yükler

all # çağrılmış scriptler, diğer scriptler, diğer dosyalar (ekstralar hariç) yüklenir

full # gem klasörde her ne varsa hepsi yüklenir

Varsayılan olarak script dosyalarının .rbw uzantılı olanları windows modda .rb olanları console modda yüklenmeye çalışılır.

Ekstralardan kasıt C veya C++ kaynak kodları, nesne dosyaları, test klasörü, spec klasörü ve README dosyalarıdır.

Umarım bu yazı Ruby projelerinizi Windows dünyasında tanıtabilmenize yardım eder. Sevgi ve saygılarımla.

Hakkında Gökhan Çağlar

Yazar, Şair, Hayalperest, Rubyist

Bunu mu demek istemiştiniz?

Atom Editör

Atom Metin Düzenleyicisini bir IDE imişçesine Etkin Kullanmak (Ruby ve Python İçin)

Atom Editor:  https://atom.io/ Atom ücretsiz ve açık kaynak bir text ve kaynak kod düzenleyicisidir. Linux, …

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir