2010-06-17 10 views
12

Ich bin ein Windows-Entwickler derzeit in Rails. Während Sie auf RoR Windows entwickeln können, ist es nicht die ideale Erfahrung. Die Dinge sind unruhig und laufende Gurken Tests sind schmerzhaft langsam.Ruby On Rails unter Windows - Linux VM oder Dual-Boot

Also, würde ich in der Lage sein, eine anständige Dev-Erfahrung mit Linux in einer VM für RoR-Entwicklung zu haben, oder sollte ich in den sauren Apfel beißen und nur einen Dual-Boot - Windows 7/Linux?

Antwort

9

Es macht Sinn, dass Ihre Entwicklungsumgebung Ihrer Produktion so weit wie möglich folgen soll, vor allem beim Lernen.

In diesem Sinne wird eine virtuelle Maschine der beste Weg nach vorne sein, trotz der zusätzlichen Kopfschmerzen wie das Einrichten der Vernetzung zwischen dem Host und dem Gastcomputer. Ich habe das persönlich in einem Magento-Projekt gemacht und kann mit Sicherheit sagen, dass die Zeit, die damit verbracht wurde, alles richtig zu machen, am Ende des Prozesses reichlich mit weniger Kopfschmerzen belohnt wurde und nun einfach wieder verwendet werden kann.

Über Dual-Boot, ist es wirklich nicht die Mühe wert, wenn man bedenkt, wie einfach es ist, eine VM zum Laufen zu bringen, und für diese Zwecke gibt es keinen Unterschied.

Stellen Sie sicher, dass Sie in der virtuellen Box Gast Ergänzungen Installation schauen, wenn Sie diese Route gehen, wird alles viel cooler, sobald sie auf dem Gast installiert und ausgeführt werden.

Links für mehr Informationen:

VirtualBox

NAT Configuration of virtualbox, some ideas

Redcar editor - Textmate Stil Bearbeitung auf Linux einschließlich TM Bundle Unterstützung

+3

Ich stimme vollständig mit @danp überein. Ich mache die Rails-Entwicklung unter Ubuntu in VirtualBox unter Windows 7. Mit VMs haben Sie die Möglichkeit, auf viele verschiedene Versionen und Konfigurationen eines OS/Entwicklungsumgebungspaares zugreifen zu können. Mit Dual-Boot sind Sie weitgehend auf ein oder zwei beschränkt. VMs geben Ihnen die Möglichkeit, an mehreren Projekten zu arbeiten, ohne das Risiko einzugehen, dass ein Projekt die Umgebung des anderen verändert. –

+0

Noch eine Sache: Um die beste Leistung Ihrer virtuellen Maschine zu erzielen, müssen Sie das Festplattenimage der virtuellen Maschine live auf einer separaten Festplattenspindel Ihres Betriebssystems speichern. Dies erhöht den Gesamt-I/O-Durchsatz und sollte die Reaktionsfähigkeit der virtuellen Maschine merklich steigern. Ich habe ein externes USB 2.0-Laufwerk, auf dem alle meine virtuellen Maschinen laufen. –

+0

OK, das ist meine letzte Sache mehr: Ich habe nicht Redcar verwendet, aber NetBeans ist eine hervorragende IDE für die Entwicklung von Rails-Anwendungen. Wenn Sie wie ich ein Windows-Entwickler sind, kennen und lieben Sie Visual Studio wahrscheinlich. NetBeans bietet eine ähnliche Integration von Aufgaben und Tools. Ich liebe es und würde ohne es nicht arbeiten. –

1

nicht mit Dual-Boot-Kümmern Sie sich, werden Sie sich selbst finden Vermeiden Sie es in Kürze. Verwenden Sie einfach VMs. Ich würde sogar - und derzeit - eine VM für Windows-Codierung verwenden. VM-Snapshots sind dein Freund.

Verwenden Sie auch Ubuntu; es ist einfach einfacher einzurichten und loszulegen. (lief Fedora seit Jahren aber wurde müde von der Einrichtung)

VirtualBox oder VMWare beide gut funktionieren.

2

Dual-Boot ist der Weg zu gehen, wenn Sie ernsthaft in Schienen gehen, und wird längere Zeit in Schienen arbeiten.

Es sei denn, Sie haben eine sehr leistungsfähige Maschine der Aufwand von Windows + Ubuntu/Linux + Rails Server + Datenbank-Server + IDE/Editor wird schmerzhaft sein.

Duales Booten ist einfach einzurichten und mit den schnellen Boot-Geschwindigkeiten sollte das Hin- und Herschalten ziemlich schmerzlos sein.

Wenn Sie jedoch immer noch sehr beiläufig Schienen erkunden oder erwarten, häufig hin- und herzuschalten, dann ist vielleicht eine VM der richtige Weg.

0

Ich habe versucht, Schienen mit Cygwin zu lernen. Ich habe es in Gang gebracht, aber ich fand es unmöglich, damit umzugehen. Ich konnte Mysql nach ungefähr 20 Stunden Spielzeit nie zum Laufen bringen. Ich habe festgestellt, dass Cygwin sehr fehlerhaft ist, und Sie werden wahrscheinlich viel Schmerzen haben, um die Dinge in Gang zu bringen.

Andere virtuelle Maschinen, bin ich mir nicht sicher, aber meine Erfahrung mit der Entwicklung von Rails über Cygwin war schrecklich.

Ich jetzt Dual-Boot Ubuntu Linux und Windows Vista. Ich denke nicht, dass es eine große Belastung ist, und ich würde es empfehlen.

0

Im Einklang mit der Empfehlung zu virtualisieren oder Dual-Boot, empfehle ich dringend Vagrant. Es braucht ein wenig Setup, aber es ist Ruby (was cool ist, wenn Sie in RoR-Entwicklung gehen) und gibt Ihnen eine Menge Macht und Flexibilität. Ich benutze es erst seit kurzem, aber ich bin schon verliebt. Es erspart mir die Notwendigkeit, ein gesamtes separates Betriebssystem in einer VM zu verwenden, und die Ungeschicklichkeit des Umschaltens zwischen Betriebssystemen in einem Dual-Boot-Setup.

Wenn Sie nicht einfach Ubuntu als Ihr primäres Betriebssystem ausführen können, ist Vagrant definitiv mehr Entwickler nützlich als traditionelle virtuelle Maschinen.