2010-06-17 18 views
12

Sono uno sviluppatore di Windows che attualmente sta entrando in Rails. Mentre puoi sviluppare su RoR Windows, non è l'esperienza ideale. Le cose sono glaciali e i test al cetriolo sono dolorosamente lenti.Ruby On Rails su Windows - Linux VM o dual boot

Quindi, sarei in grado di avere una decente esperienza di sviluppo con Linux in una VM per lo sviluppo di RoR, o dovrei mordere il proiettile e fare solo un dual boot - Windows 7/Linux?

risposta

9

Ha senso che l'ambiente di sviluppo dovrebbe seguire la produzione il più vicino possibile, in particolare durante l'apprendimento.

Con questo in mente, una macchina virtuale di qualche tipo sarà la migliore strada da seguire, nonostante i grattacapi aggiuntivi come la configurazione di rete tra l'host e la macchina ospite. Lo sto facendo personalmente in un progetto Magento, e posso tranquillamente dire che il tempo speso per ottenere tutto ciò che è giusto è stato ampiamente ricompensato con meno grattacapi alla fine del processo, e ora la sua configurazione può essere facilmente riutilizzata.

Informazioni sul dual boot, non vale davvero la pena considerare quanto sia facile far funzionare una VM e, per questi scopi, non c'è alcuna differenza.

Assicurati di esaminare l'installazione delle aggiunte dei guest della casella virtuale se segui questa strada, tutto diventa più interessante una volta installati e in esecuzione sul guest.

collegamenti per le risorse:

VirtualBox

NAT Configuration of virtualbox, some ideas

Redcar editor - editing stile TextMate su Linux incluso il supporto TM fascio

+3

Sono completamente d'accordo con @danp. Sviluppo Rails su Ubuntu in esecuzione su VirtualBox su Windows 7. L'uso di VM offre la possibilità di accedere a molte versioni e configurazioni diverse di una coppia di ambiente operativo/di sviluppo. Con il dual boot, sei in gran parte limitato a uno o due. Le macchine virtuali ti danno la possibilità di lavorare su più progetti senza il rischio che un progetto modifichi l'ambiente dell'altro. –

+0

Un'ultima cosa: per ottenere le migliori prestazioni dalla tua macchina virtuale, avere l'immagine del disco della macchina virtuale in diretta su un mandrino del disco separato dal tuo sistema operativo. Ciò aumenterà il throughput I/O totale e dovrebbe aumentare notevolmente la reattività della macchina virtuale. Possiedo un'unità disco USB 2.0 esterna su cui vivono tutte le mie numerose macchine virtuali. –

+0

OK, questa è la mia ultima cosa in più: non ho usato Redcar, ma NetBeans è un IDE superbo per lo sviluppo di applicazioni Rails. Se, come me, sei uno sviluppatore di Windows, probabilmente conosci e ami Visual Studio. NetBeans fornisce un'integrazione simile di attività e strumenti. Lo adoro e non funzionerebbe senza di esso. –

1

Non perdete tempo con dual boot, vi ritroverete evitarlo in poco tempo. Basta usare VM. Avrei anche - e attualmente lo faccio - usare una macchina virtuale per la codifica di Windows. Le istantanee VM sono tuoi amici.

Inoltre, utilizzare Ubuntu; è solo più facile da configurare e andare avanti. (ha gestito Fedora per anni ma si è stancato del setup)

VirtualBox o VMWare funzionano entrambi bene.

2

Il dual boot è la strada da percorrere se siete seriamente intenzionati a entrare in binari, e trascorrerete lunghi periodi di lavoro lavorando su rotaie.

A meno che non si disponga di una macchina molto potente, il sovraccarico di Windows + Ubuntu/linux + server di rails + server di database + ide/editor sarà doloroso.

Il doppio avvio è facile da configurare e con le velocità di avvio elevate, la commutazione avanti e indietro dovrebbe essere abbastanza semplice.

Tuttavia, se si stanno ancora esplorando con molta disinvoltura i binari o si prevede di passare avanti e indietro molto spesso, allora forse una VM è la strada da percorrere.

0

Ho provato a imparare i binari usando cygwin. L'ho installato e funzionante, ma ho trovato impossibile gestirlo. Non sono mai riuscito a far funzionare mysql dopo circa 20 ore di gioco. Ho scoperto che Cygwin è molto buggato e probabilmente sperimenterai molto dolore per far funzionare le cose.

Altre macchine virtuali, non ne sono sicuro, ma la mia esperienza nello sviluppo di Rails tramite Cygwin è stata orribile.

Ora ho il doppio avvio di Ubuntu Linux e Windows Vista. Non penso che sia un grosso problema, e lo consiglierei.

0

In linea con la raccomandazione di virtualizzare o dual boot, consiglio vivamente Vagrant. Ci vuole un po 'di setup, ma è Ruby (che è bello se stai entrando nello sviluppo del RoR) e ti dà molta potenza e flessibilità. Ho iniziato a usarlo solo di recente, ma sono già innamorato. Mi risparmia la fatica di dover utilizzare un intero sistema operativo separato in una VM e il clunkiness del passaggio da un sistema operativo all'altro in una configurazione di avvio doppio.

Se non è possibile eseguire Ubuntu come sistema operativo principale, lo Vagrant è sicuramente più utile per gli sviluppatori rispetto alle macchine virtuali tradizionali.