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>
Hier ist eine Übersicht über die aktuellen Probleme mit Rails unter Windows:
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:
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?
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.
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.
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.
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.
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.
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.
Unter http://railsinstaller.org/ gibt es ein Installationspaket, das sich lohnt.
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:
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.
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.
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:
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.
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).
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.
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/
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.).
Für eine Beschleunigung können Sie meinen Loader-Speeder-Upper ausprobieren (hilft Rails dabei, schneller zu laufen): https://github.com/rdp/faster_require .__
Alternative von RailsIntaller ist RailsFTW . Die Ruby & Rails sind aktueller.