Windows'ta Ruby / Rails çalıştırmanın sınırlamaları


81

RoR kurulum belgelerinde Ruby on Rails'i Windows üzerinde çalıştırmanın birçok sınırlaması olduğundan ve bazı durumlarda tüm kitaplıkların çalışmadığından bahsedilir.

Bu sınırlamalar ne kadar kötü, RoR'u kodlamak / çalıştırmak için her zaman Linux'u varsayılan olarak ayarlamalı mıyım ve Iron Ruby'nin bu sınırlamaları düzeltmesi mi bekleniyor yoksa bunlar işletim sisteminin kendisinin özü mü?

DÜZENLE Linux üzerinde kurulum ve çalıştırmayla ilgili cevabınız için teşekkürler, ancak kurulum belgelerinde ve çalışmayan kitaplıklarda atıfta bulunulan işlevsellikteki sınırlamaları gerçekten anlamaya çalışıyorum - yorumun bir bağlantısını bulmaya çalışıyorum, ancak bir kurulumda başvurulan msi paketini kurduğumda beni oku düşünüyorum

DÜZENLE Son zamanlarda IronRuby'ye yapılan göndermeler için teşekkürler, kesinlikle izlenmesi gereken bir proje ve belli ki bir .NET dili olduğu için, verilen sözleri tutarsa ​​paha biçilmez olacak. Sonunda, benim durumumda, sadece mermiyi ısırdım ve bir Ubuntu sunucusu kurdum.

<bias> Bunu yıllar önce yapmalıydım </bias>


Herhangi bir sınırlama yoktur. Her sorun için geçici çözümler veya alternatifler vardır.
Chloe

Yanıtlar:


101

Windows'ta Rails ile ilgili mevcut sorunlara genel bir bakış:

  • Ruby ve Rails, Windows'ta Unix benzeri işletim sistemlerine göre daha yavaştır.
  • Birkaç mücevher ve kitaplık Windows'ta çalışmıyor.
  • Bazı Unix izleri Windows'ta mevcut değildir ( örnekler ).
  • Topluluk çoğunlukla ya Mac ya da Linux üzerindedir ( Bu, özellikle başa çıkması zor bir durumdur; kabilenin geri kalanı parti yaparken, diğer adada eğlenirken ve iyi geçinirken kimse bir adada yalnız kalmak istemez. Görünüşe göre Rails ile başlayan çoğu Windows geliştiricisi hızlı bir şekilde Mac veya Linux'a geçiyor. Bununla birlikte , ısrarcı olan küçük Windows Ruby kullanıcıları topluluğu son derece arkadaş canlısı, adanmış ve bilgili - gidip merhaba deyin . )

Aşağıdaki tavsiyelerin çoğunun , RubyInstaller ekibinin Windows'ta Ruby'ye kararlılık, uyumluluk ve performans getirme konusundaki muhteşem çabaları nedeniyle artık geçerliliğini yitirdiğini unutmayın . Artık Ruby'nin Windows'ta ne kadar ilerlediğini söyleyen VirtualBox'ı kullanmak zorunda değilim.

Daha teknik detay istiyorsanız, aşağıdakileri okumalısınız. :

Sonuncusundan seçim alıntı:

AkitaOnRails: En bariz şey, Windows için uygun ikili dosyalar olmadan C Uzantıları olan herhangi bir Gem'in başarısız olacağıdır . Kabuk komutlarını çalıştırmaya çalışmak başarısız olur ve RubyInline da başarısız olur. Başka?

Luis Lavena: Hehe, bu buzdağının sadece görünen kısmı

Tüm bunları söyledikten sonra, Windows'ta Rails ile geliştirmeyi çok acı verici bulmuyorum . Ruby kullanmak büyük ölçüde bir zevktir. InstantRails'den kaçınırdım çünkü dürüst olmak gerekirse, Ruby'yi tek tıklamalı yükleyiciyi kullanarak düzgün bir şekilde kurmak ve ardından bir gem install rails. Apache ve MySQL'e ihtiyacınız varsa, WAMP iyi bir bahistir, ancak Mongrel ve SQLite'a sadık kalırsanız bunlar bile gerekli değildir.

Son zamanlarda yapmaya başladığım şey, VirtualBox'ı dağıtım sunucusunu yakından yansıtan bir Ubuntu Sunucusu örneğiyle çalıştırmaktır . Bir ağ sürücüsünü Ubuntu Sunucusuna eşledim, ardından kodumu düzenleyip doğrudan VM üzerinde çalıştırıyorum. Neredeyse hiç bellek kullanmıyor (şu anda ~ 43MB kullanıyor; ~ 230MB kullanan Firefox ile karşılaştırıldığında) ve Rails aslında Windows'ta yerel olarak çalıştırmaktan daha iyi performans gösteriyor. Ayrıca, sanal sunucunuzla göreceli güvenlik içinde deneyler yapabilirsiniz. Gerçekten güzel bir kurulum, kesinlikle tavsiye ederim.

Son olarak, burada Windows kullanıcılarına yönelik birkaç Ruby / Rails blogu bulunmaktadır:


2
Ne harika, eksiksiz bir cevap ve ne kadar iç karartıcı bir gerçek ... ama sanırım bu yüzden VirtualBox'ımı Windows compileyouidontevenknowyou.blogspot.com/2008/12/… üzerinde çalıştırmak için saatler harcadım . Cevabınız için teşekkürler: VirtualBox'ımı kullanacağım.
Dan Rosenstark

4
Göründüğü kadar iç karartıcı değil; kesinlikle Java veya .NET kullanmak kadar iç karartıcı değil. Şaka yapıyorum, şaka yapıyorum. ;)
Charles Roper

1
Harika, Charles, platforma ne kadar bağımlı olduğumuza hala şaşırıyorum ... sadece 50 yıl daha, sanırım ...
Dan Rosenstark

1
Windows'u yeniden yüklemek zorunda kaldım ve Windows kutumda Rails'i tekrar çalıştırmaya istekli değildim. VirtualBox, sanal bir Ubuntu Sunucusu oluşturdu, paylaşımlı klasörler kurdu, böylece her ikisi de Rails koduma erişebilir, Ruby & Rails kurabilir, VirtualBox'ta port yönlendirmeyi kurabilir, böylece Windows'dan Rails uygulamasına erişebilirim
Guy C

1
Raylar Ubunutu VM üzerinde çalışırken Windows'tan geliştiriyorum. Aslında sanal makineyi "kullanmıyorum", çünkü SSH kullanıyorum ve Windows'tan her şeyi kontrol etmek için paylaşılan klasörler kullanıyorum. İşte iyi belgelenmiş kurulumum: chetane.com/2012/09/11/…
Chetane

6

Windows'ta Instant Rails ile bir geliştirme ortamı kurup çalıştırmanın gerçekten basit olduğunu gördüm . Özellikle Netbeans veya Radrails'i IDE olarak kullanırken .

10 dakikadan az bir iş.

Mücadele edenler sorun neyi buldu?


5

Birkaç yıldır bir Windows bilgisayarda Rails geliştiriyorum ve ilk başladığımda geri yükleme konusunda gerçek bir sorun yaşamadım. Ancak yakın zamanda makinemi yeniden inşa ettim ve One-Click Ruby yükleyicisini ve Gems'in en son sürümünü çalıştırmak için uğraştım. Ben de bunu denedim.

Seçenek 1: Bir Linux Sanal Makinesi Çalıştırın

Charles Roper'in Rails'i bir Linux sanal makinesinde çalıştırma fikrinden gerçekten etkilendim ve başlangıçta tercih ettiğim yol buydu. Her şey oldukça sorunsuz gitti ve ben bunu budanters.blogspot.com adresinde belgeliyorum . Ancak, Windows ana bilgisayarından MySQL sunucusuna (Linux Virtual Machine'de) erişmekte zorlanıyorum.

2. Seçenek: jRuby'yi kullanın

Yakın zamanda NetBeans 6.5 Ruby paketinin Windows sürümünü kurdum ve farkında olmadan bu JRuby ve Rails mücevherlerini yüklüyor. IDE, Gems'i yüklemek için bir kullanıcı arayüzüne sahip ve şimdi eski uygulamamı geliştirme ortamımda yedekleyip çalıştırıyorum.

Kasım 2009 güncellemesi

Şimdi Windows üzerinde Netbeans 6.7 kullanıyorum ve genel olarak bundan çok memnunum. Tek dezavantajı, JRuby 1.2'yi kurması ve çalışan bir şeyi elde etmek için JRuby 1.3'ü manuel olarak kurmam gerektiğidir (ne olduğunu hatırlayamıyorum) ve çalışmak için Capistrano veya Vlad the Deployer ile çalışarak konuşlandırmayı tamamen başaramadım. Vlad , JRuby ile çalışmayan Open4 kullanır .

Mayıs 2010'u güncelleyin

Netbeans 6.8, JRuby 1.4 ile birlikte gelir, bu nedenle artık JRuby 1.3'ü manuel olarak yükleyerek uğraşmak zorunda kalmazsınız. Ayrıca JRuby 1.5 Open4'te artık çalışacak gibi görünüyor, bu da Vlad'ın çalışmaya başlayabileceği anlamına geliyor.


1
Bir Ubuntu sanal makinesini çalıştırmak için iyi bir seçeneğin Vagrant kullanmak olduğunu eklemek istedim. Windows'ta geliştiriyorsunuz ve dosyalarınız Ubuntu VM ile paylaşılıyor, ardından
sanal makinenizi

5

Henüz kimse Bitnami RubyStack'ten bahsetmedi mi? RadRails ile birlikte yıllardır kullanıyorum. Apache, MySQL / Postgre, phpmyadmin, git vb. İçerir. Opsiyonel Ruby 1.9.2 / Rails 3.0b. RubyStack'in Ubuntu versiyonunu bir VM'de de çalıştırabilirsiniz, ancak bunu henüz denemedim.



3

Şahsen ben Ruby + Rails'i çalıştırmayı ve pencerelerde çalıştırmayı çok kolay buldum. İndirmeden göz atmaya, ilk 'HelloWorld' uygulamama kadar 15 dakikanın tamamını aldı. InstantRails ile uğraşmadım bile.

Sonuç olarak, bildirilen herhangi bir hız sorunuyla veya Windows altında Gems ile ilgili sorunlarla karşılaştığımı söyleyemem.

Bu adamlar ayrıca, Visual Studio için güzel bir Ruby geliştiricileri ekler:

http://www.sapphiresteel.com/


Rails'i OS X'te veya * nix altında hiç kullanmadıysanız, muhtemelen hız farkını fark etmeyeceksiniz. İkisini karşılaştırdığınızda, fark belirgin hale gelir.
Charles Roper

Belki, ama benim yaptığım nokta şu ki, beni 'cehennem köpek gibi koşuyor' diye düşündüren fark edilir derecede yavaş bir şey yoktu.
Kev

Ruby + ruby'i pencerelerdeki raylara nasıl yüklediniz?

2

Pencerelerde Rails ile en son uğraştığımda, Instant Rails'i kullandım ve Instant Rails güncellemelerinin olmaması dışında oldukça acı verici bir süreç olduğunu fark ettim (ki bu, web sitesinin görünümüne göre hala biraz sorun teşkil ediyor. Instant Rails 2.0, ROR 2.0 kullanırken en yeni sürüm 2.1'dir). Ayrıca, RoR'u pencerelerde kolayca çalıştırmanın bir dizi başka yolundan bahsettiği için bu sorunun yanıtlarına da bakabilirsiniz .


Rails 2.1 'gem update rails' yüklemek zor değil
RichH

@Paul Wicks Gerçekten acı mı veriyorsun? @RichH Ben de bir "mücevher güncelleme-sistemine" ihtiyacım olduğunu hatırlıyorum (pragmatik programcıların Ruby on Rails kitabında ne söylüyorsa onu yaptım), ama yükseltmenin zor olmadığını kabul ediyorum
Steve Bosman

1

Instantrails gibi, her şeyi kurmak ve yüklemek için pencere seçenekleriniz vardır :

Ancak, meslektaşlarımı pencerelerde çalıştırmaya çalışmakla ilgili kişisel deneyimim, bunun oldukça acı verici bir deneyim olması. Çoğu (her şeyi olmasa da) koşabilmelisiniz, ancak biraz vakit geçirmeye (ve hüsrana uğramaya) hazırlıklı olmalısınız.

YMMV

Ray geliştirme için muhtemelen Linux veya Mac'i tavsiye ederim (ancak pencerelere karşı biraz önyargılıyım, bu yüzden bunu biraz tuzlu olarak almanız gerekebilir).


1

Windows'ta takılıp kalırsanız bir seçenek, Linux / BSD / what-have-you çalıştıran sanal sunuculara sahip olmaktır.

Diğer birçok sorunu da çözer (birden çok sunucu yapılandırmasını kolayca denemenizi sağlar, vb.).


1

Pencerelerden uzaklaşamıyorsanız, VMware kullanın ve bir tür linux çalıştırın (ubuntu popülerdir). 1 numaralı sınırlamanız, pencerelerde güzelce oynamayan mücevherler derlenecektir.

Öğreticilerin çoğu, bir çeşit * nix kullandığınızı varsayar, acıyı hissettiğinizde temel yapı iskelesinin dışına çıkmaya başladığınız zamandır. Görüntü işleme, tam metin arama ve hatta bazı db bağdaştırıcıları ya sadece * nix üzerinde çalışacak ya da kurulum için zahmetli olacaktır.

Web barındırıcılarının çoğu da linux çalıştırır, dağıtım sorunlarından kaçınmak için sunucunuzla aynı platformda geliştirme yapmak iyidir.


1

Genel olarak, Rails performansı Windows'ta bir sorundur.

Dağıtım kurulumunuzla ilgili olarak, Rails'i FCGI'da çalıştırabilir veya mongrel kullanabilirsiniz (ve Apache veya IIS'yi proxy olarak kurabilirsiniz). mod_rails ( http://www.modrails.com ) bugün Rails için en iyi dağıtım seçeneğidir ancak Windows üzerinde çalışmaz.

Rails'i istediğiniz JVM ortamında (tomcat, J2EE sunucusu, vb.) Çalıştırmak için Windows'ta JRuby'yi kullanarak daha fazla şans bulabilirsiniz.

IronRuby henüz bir üretim ortamında Rails'i çalıştırmak için orada değil, ancak sonunda herhangi bir ASP.NET ortamında (IIS) Rails'i çalıştırmayı hedefleyecektir.


1

Cygwin'i ve Ruby'nin sürümünü kullanabilirsiniz. Bu, Windows üzerinde çalışmayan derlenmiş mücevherler hakkındaki tartışmalardan kurtulur - bu şekilde çok sayıda mücevher derlemeyi başardım.


1

Windows altında çalışmanın en büyük sınırlaması, birçok şeyin süper yavaş olmasıdır.

Bu konuya bakın . Bir tartışma için.

"Komut dosyası / konsol" gibi basit şeyler ve komisyon görevlerini çalıştırmak Windows'ta Linux veya Mac'e kıyasla 5 kat daha uzun sürer.

Diğer sınırlamalar şunlardır:

  • Vista'da IE6 yok.
  • BackgroundRB ve diğer birçok c tabanlı mücevher Windows'ta çalışmaz.
  • Yolcu yok

1

Ben kendim bir ray geliştiricisi değilim ama bunun ilgisini çekebileceğini düşündüm. Microsoft, .NET platformunda çalışan ve görünüşe göre Windows'taki resmi Rails uygulamasından 4 kat daha hızlı çalışan bir Ruby sürümü olan IronRuby 1.0'ı yayınladı .

http://www.drdobbs.com/open-source/224600662

Resmi site http://ironruby.codeplex.com/


1
Ironruby bir yıldan fazla bir süredir uyuyor gibi görünüyor.
Reto


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.