webentwicklung-frage-antwort-db.com.de

Einschränkungen beim Ausführen von Ruby/Rails unter Windows

In der Installationsdokumentation zu RoR wird erwähnt, dass es viele Einschränkungen bei der Ausführung von Ruby on Rails unter Windows gibt. In einigen Fällen funktionieren ganze Bibliotheken nicht.

Wie schlimm sind diese Einschränkungen, sollte ich immer auf Linux setzen, um RoR zu programmieren/auszuführen, und wird erwartet, dass Iron Ruby diese Einschränkungen beseitigt, oder sind sie das Kernstück des Betriebssystems selbst?

EDITVielen Dank für die Antwort rund um die Installation und Ausführung unter Linux, aber ich versuche wirklich, die in der Installationsdokumentation genannten Einschränkungen der Funktionalität und nicht funktionierenden Bibliotheken zu verstehen - ich versuche es finde einen link zu dem kommentar, aber in einer installation wurde darauf verwiesen, wie ich denke, als ich das msi-paket installiert habe

EDIT Vielen Dank für die Hinweise auf IronRuby in letzter Zeit, es ist sicherlich ein Projekt, das zu sehen ist, und da es sich offensichtlich um eine .NET-Sprache handelt, wird es von unschätzbarem Wert sein, wenn es das Leben braucht zu den Versprechen. Irgendwann jedoch in meinem Fall habe ich gerade die Kugel gebissen und einen Ubuntu-Server installiert. 

<bias> Ich hätte es vor Jahren tun sollen </ bias>

79
johnc

Hier ist eine Übersicht über die aktuellen Probleme mit Rails unter Windows:

  • Ruby und Rails sind unter Windows langsamer als unter Unix-ähnlichen Betriebssystemen.
  • Einige Edelsteine ​​und Bibliotheken funktionieren unter Windows nicht.
  • Einige Unix-Ismen sind unter Windows nicht verfügbar ( Beispiele ).
  • Die Community ist meistens entweder auf Mac oder Linux . Dies ist besonders schwierig zu handhaben. Niemand möchte allein auf einer Insel sein, wenn der Rest des Stammes feiert, Spaß hat und sich gut versteht Auf der anderen Insel ist die Community wichtig. Es scheint, dass die meisten Windows-Entwickler, die mit Rails beginnen, schnell zu einem Mac oder Linux wechseln. Allerdings , die kleine Community von Windows Ruby -Nutzern, die fortbestehen, ist äußerst freundlich, engagiert und kenntnisreich - sag mal Hallo . )

Beachten Sie, dass ein Großteil der folgenden Ratschläge aufgrund der großartigen Bemühungen des RubyInstaller Teams, Ruby Stabilität, Kompatibilität und Leistung zu verleihen, veraltet ist. unter Windows. Ich muss VirtualBox nicht mehr verwenden, was viel darüber aussagt, wie weit Ruby unter Windows gekommen ist.

Wenn Sie weitere technische Details wünschen, müssen Sie die folgenden Informationen lesen. :

Auserlesenes Zitat von diesem letzten ist:

AkitaOnRails: Das offensichtlichste ist, dass jeder Gem mit C-Erweiterungen ohne die richtigen Binärdateien für Windows fehlschlagen wird. Der Versuch, Shell-Befehle auszuführen, schlägt fehl, ebenso RubyInline. Was sonst?

Luis Lavena: Hehe, das ist nur die Spitze des Eisbergs

Trotzdem empfinde ich das Entwickeln mit Rails unter Windows nicht als schmerzhaft. Die Verwendung von Ruby ist größtenteils ein Vergnügen. Ich würde InstantRails vermeiden, da es, um ehrlich zu sein, genauso einfach ist, Ruby mit dem Ein-Klick-Installationsprogramm richtig zu installieren und dann gem install Rails auszuführen. Wenn Sie Apache und MySQL benötigen, ist WAMP eine gute Wahl, obwohl auch diese nicht erforderlich sind, wenn Sie sich nur an Mongrel und SQLite halten.

Was ich in letzter Zeit gemacht habe, ist das Ausführen von VirtualBox mit einer Instanz von Ubuntu Server, die den Deployment Server sehr genau widerspiegelt. Ich ordne dem Ubuntu-Server ein Netzwerklaufwerk zu, bearbeite meinen Code und führe ihn direkt auf der VM aus. Es verwendet kaum Speicher (es verwendet derzeit ~ 43MB; im Gegensatz zu Firefox, das ~ 230MB verwendet) und Rails ist tatsächlich leistungsfähiger als die native Ausführung unter Windows. Außerdem können Sie relativ sicher mit Ihrem virtuellen Server experimentieren. Es ist ein wirklich nettes Setup, ich kann es nur empfehlen.

Abschließend einige Ruby/Rails-Blogs für Windows-Benutzer:

101
Charles Roper

Ich fand es sehr einfach, eine Entwicklungsumgebung unter Instant Rails unter Windows zu installieren. Besonders bei der Verwendung von Netbeans oder Radrails als IDE.

Weniger als 10 Minuten Arbeit.

Was war für diejenigen, die kämpfen, das Problem?

6
RichH

Bitnami RubyStack noch nicht erwähnt? Ich benutze es seit Jahren zusammen mit RadRails. Enthält Apache, MySQL/Postgre, Phpmyadmin, Git usw. Optional Ruby 1.9.2/Rails 3.0b. Sie können auch die Ubuntu-Variante von RubyStack in einem VM ausführen, aber das habe ich noch nicht versucht.

5
chi

Ich habe Rails schon seit einigen Jahren auf einem Windows-PC entwickelt und hatte beim ersten Start keine Probleme mit der Installation. Ich habe jedoch kürzlich meinen Rechner neu aufgebaut und hatte Schwierigkeiten, den One-Click Ruby-Installer und die neueste Version von Gems zum Laufen zu bringen. Also habe ich es versucht.

Option 1: Führen Sie eine virtuelle Linux-Maschine aus

Ich war wirklich beeindruckt von Charles Ropers Idee, Rails in einer virtuellen Linux-Maschine auszuführen, und dies ist der Weg, den ich ursprünglich eingeschlagen habe. Es lief alles reibungslos und ich habe es unter budanters.blogspot.com dokumentiert. Ich habe jedoch mit dem Zugriff auf den MySQL-Server (in Linux Virtual Machine) vom Windows-Host aus zu kämpfen.

Option 2: Verwenden Sie jRuby

Ich habe vor kurzem die Windows-Version von NetBeans 6.5 Ruby installiert, und ohne es zu wissen, werden JRuby und die Rails-Edelsteine ​​installiert. Die IDE hat eine Benutzeroberfläche, um Gems zu installieren, und ich habe jetzt meine alte Anwendung in meiner Entwicklungsumgebung installiert.

Update November 2009

Ich benutze jetzt Netbeans 6.7 unter Windows und bin insgesamt sehr zufrieden damit. Der einzige Nachteil ist, dass JRuby 1.2 installiert wird. Ich musste JRuby 1.3 manuell installieren, um etwas zum Laufen zu bringen (ich kann mich nicht erinnern, was). Vlad verwendet Open4 was mit JRuby nicht funktioniert.

Update Mai 2010

Netbeans 6.8 wird mit JRuby 1.4 geliefert, so dass Sie sich nicht mehr mit der manuellen Installation von JRuby 1.3 herumschlagen müssen. Es scheint auch, dass Open4 in JRuby 1.5 jetzt funktionieren wird, was bedeutet, dass Vlad vielleicht anfängt zu arbeiten.

4
Guy C

Unter http://railsinstaller.org/ gibt es ein Installationspaket, das sich lohnt.

4
Andreas

Ich persönlich fand es ein Kinderspiel, Ruby + Rails auf Windows laufen zu lassen. Vom Download über das Browsen bis zu meiner ersten 'HelloWorld'-App dauerte ich 15 Minuten. Ich habe mich nicht mit InstantRails beschäftigt.

In der Folge kann ich nicht sagen, dass ich auf eines der gemeldeten Geschwindigkeitsprobleme oder Probleme mit Gems unter Windows gestoßen bin.

Diese Jungs haben auch ein Nice Ruby-Entwickler-Add-On für Visual Studio:

http://www.sapphiresteel.com/

3
Kev

Als ich zuletzt mit Rails an Fenstern herumgespielt habe, habe ich Instant Rails verwendet und fand es ziemlich schmerzhaft, abgesehen von den fehlenden Updates für Instant Rails (was nach Ansicht der Website immer noch ein Problem darstellt , da Instant Rails 2.0 ROR 2.0 verwendet, während die neueste Version 2.1 ist. Sie können auch in den Antworten auf this question nachschauen, da sie eine Reihe anderer Möglichkeiten enthält, um RoR leicht unter Windows laufen zu lassen. 

2
Paul Wicks

Sie könnten einfach Cygwin und seine Version von Ruby verwenden. Damit werden die Argumente beseitigt, dass kompilierte Edelsteine ​​nicht unter Windows funktionieren - ich habe es geschafft, viele Edelsteine ​​auf diese Weise zu kompilieren.

1
Cameron McCloud

Die größte Einschränkung bei der Ausführung unter Windows ist, dass viele Dinge extrem langsam sind. 

Siehe diesen Thread . Für eine Diskussion. 

Einfache Dinge wie "Skript/Konsole" und das Ausführen von Rake-Aufgaben dauern unter Windows fünfmal länger als unter Linux oder Mac.

Andere Einschränkungen sind:

  • Kein IE6 unter Vista. 
  • BackgroundRB und viele andere c-basierte Edelsteine ​​funktionieren nicht unter Windows.
  • Kein Passagier
1
Sam Saffron

Wenn Sie Windows nicht entziehen können, verwenden Sie VMware und führen Sie eine Form von Linux aus (Ubuntu ist beliebt). Ihre Limitierung von Nr. 1 wird aus Edelsteinen bestehen, die sich nicht gut unter Windows abspielen lassen. 

Die meisten Tutorials gehen davon aus, dass Sie sich in irgendeiner Form von * nix befinden. Wenn Sie anfangen, außerhalb des Grundgerüsts aufzubrechen, wenn Sie den Schmerz spüren. Bildmanipulation, Volltextsuche und sogar einige Db-Adapter werden entweder nur unter * nix ausgeführt oder sind schwierig zu installieren.

Die meisten Webhosts laufen auch unter Linux. Es ist gut, auf derselben Plattform wie Ihr Host zu entwickeln, um Probleme bei der Bereitstellung zu vermeiden. 

1
MatthewFord

Sie haben Windows-Optionen, um alles aufzurufen und zu installieren, z. B. Instantrails :

Meine persönliche Erfahrung mit dem Versuch, Kollegen unter Windows zum Laufen zu bringen, ist jedoch eine ziemlich schmerzhafte Erfahrung. Sie sollten in der Lage sein, das meiste (wenn nicht alles) zum Laufen zu bringen, aber Sie sollten darauf vorbereitet sein, ein bisschen Zeit damit zu verbringen, herumzudrehen (und frustriert zu werden).

YMMV

Ich würde wahrscheinlich entweder Linux oder Mac für die Entwicklung von Rails empfehlen (aber ich bin etwas geneigt gegen Fenster, daher müssen Sie das vielleicht mit einem Salzkorn nehmen).

1
Dave Smylie

Im Allgemeinen ist die Leistung von Rails unter Windows ein Problem.

Sie können Rails entweder in FCGI ausführen oder Mongrel verwenden (und entweder Apache oder IIS als Proxy einrichten). mod_Rails ( http://www.modrails.com ) ist heute die beste Bereitstellungsoption für Rails, kann jedoch nicht unter Windows ausgeführt werden.

Mit JRuby unter Windows können Sie mehr Glück finden, um Rails in der von Ihnen gewünschten JVM-Umgebung (Tomcat, J2EE-Server usw.) auszuführen.

IronRuby ist noch nicht dazu da, Rails in einer Produktionsumgebung auszuführen, aber irgendwann wird Rails in jeder ASP.NET-Umgebung (IIS) ausgeführt.

1
Jimmy Schementi

Ich bin selbst kein Rails-Entwickler, aber ich dachte, das könnte von Interesse sein. Microsoft hat IronRuby 1.0 veröffentlicht, eine Version von Ruby, die auf der .NET-Plattform ausgeführt wird und anscheinend 4x schneller als die offizielle Rails-Implementierung unter Windows ausgeführt wird.

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

Offizielle Website http://ironruby.codeplex.com/

1
Doobi

Wenn Sie unter Windows nicht weiterkommen, können Sie virtuelle Server mit Linux/BSD/What-Have-You haben.

Es löst auch viele andere Probleme (so können Sie mehrere Serverkonfigurationen einfach ausprobieren usw.).

1
Neall

Für eine Beschleunigung können Sie meinen Loader-Speeder-Upper ausprobieren (hilft Rails dabei, schneller zu laufen): https://github.com/rdp/faster_require .__

0
rogerdpack

Alternative von RailsIntaller ist RailsFTW . Die Ruby & Rails sind aktueller.

0
null