Limitaciones al ejecutar Ruby / Rails en Windows

81

En la documentación de instalación de RoR, se menciona que existen muchas limitaciones para ejecutar Ruby on Rails en Windows y, en algunos casos, las bibliotecas completas no funcionan.

¿Qué tan graves son estas limitaciones? ¿Debería siempre utilizar Linux de forma predeterminada para codificar / ejecutar RoR? ¿Se espera que Iron Ruby solucione estas limitaciones o son fundamentales para el sistema operativo mismo?

EDITAR Gracias por la respuesta sobre la instalación y la ejecución en Linux, pero realmente estoy tratando de comprender las limitaciones en la funcionalidad como se hace referencia en la documentación de instalación y las bibliotecas que no funcionan; estoy tratando de encontrar un enlace al comentario, pero fue al que se hace referencia en una instalación, léame cuando instalé el paquete msi, creo

EDITAR Gracias por las referencias a IronRuby últimamente, sin duda es un proyecto para observar, y como, obviamente, es un lenguaje .NET, será invaluable si cumple con las promesas. Eventualmente, sin embargo, en mi caso, simplemente mordí la bala e instalé un servidor Ubuntu.

<bias> Debería haberlo hecho hace años </bias>

johnc
fuente
No existen limitaciones. Hay soluciones o alternativas para cada problema.
Chloe

Respuestas:

101

Aquí hay una descripción general de los problemas actuales con Rails en Windows:

  • Ruby y Rails son más lentos en Windows que en sistemas operativos similares a Unix.
  • Algunas gemas y bibliotecas no funcionan en Windows.
  • Algunos Unix-isms no están disponibles en Windows ( ejemplos ).
  • La comunidad se encuentra principalmente en Mac o Linux ( este es particularmente difícil de manejar; nadie quiere estar solo en una isla cuando el resto de la tribu está de fiesta, divirtiéndose y llevándose muy bien en la otra isla. Comunidad es importante. Parece que la mayoría de los desarrolladores de Windows que comienzan con Rails cambian rápidamente a Mac o Linux. Sin embargo , la pequeña comunidad de usuarios de Windows Ruby que persisten es extremadamente amigable, dedicada y conocedora - ve a saludar . )

Tenga en cuenta que muchos de los consejos que siguen ahora están desactualizados debido a los magníficos esfuerzos del equipo de RubyInstaller para brindar estabilidad, compatibilidad y rendimiento a Ruby en Windows. Ya no tengo que usar VirtualBox, lo que dice mucho sobre lo lejos que ha llegado Ruby en Windows.

Si desea más detalles técnicos, es necesario leer lo siguiente. :

La cita de elección de la última es:

AkitaOnRails: Lo más obvio es que cualquier Gem con Extensiones C sin los binarios adecuados para Windows fallará. Intentar ejecutar comandos de shell fallará y RubyInline también. ¿Qué más?

Luis Lavena: Jeje, eso es solo la punta del iceberg

Habiendo dicho todo eso, no encuentro que desarrollar con Rails en Windows sea demasiado doloroso. Usar Ruby es, en su mayor parte, un placer. Evitaría InstantRails porque, para ser franco, es igual de fácil instalar Ruby correctamente usando el instalador de un solo clic, luego haciendo un gem install rails. Si necesita Apache y MySQL, WAMP es una buena apuesta, aunque incluso estos no son necesarios si solo se queda con Mongrel y SQLite.

Lo que he empezado a hacer recientemente es ejecutar VirtualBox con una instancia de Ubuntu Server que refleja de cerca el servidor de implementación. Mapeo una unidad de red al servidor Ubuntu, luego edito y ejecuto mi código directamente en la VM. Casi no usa memoria (actualmente usa ~ 43 MB; en contraste con Firefox, que usa ~ 230 MB) y Rails en realidad funciona mejor que ejecutarlo de forma nativa en Windows. Además, puede experimentar con su servidor virtual con relativa seguridad. Es una configuración realmente agradable, la recomiendo mucho.

Finalmente, aquí hay un par de blogs de Ruby / Rails dirigidos a usuarios de Windows:

Charles Roper
fuente
2
Qué gran respuesta completa, y qué realidad tan deprimente ... pero supongo que por eso pasé horas y horas haciendo que mi VirtualBox se ejecutara en Windows compileyouidontevenknowyou.blogspot.com/2008/12/… . Gracias por tu respuesta: usaré mi VirtualBox.
Dan Rosenstark
4
No es tan deprimente como parece; ciertamente no es tan deprimente como tener que usar Java o .NET. Es broma, es broma. ;)
Charles Roper
1
Es genial, Charles, todavía me sorprende lo dependientes de la plataforma que todavía somos ... solo otros 50 años, supongo ...
Dan Rosenstark
1
Tuve que reinstalar Windows y no estaba interesado en que Rails se ejecutara nuevamente en mi caja de Windows. Entonces instalé VirtualBox, creé un servidor Ubuntu virt, configuré carpetas compartidas para que ambos puedan acceder a mi código Rails, instalé Ruby & Rails, configuré el reenvío de puertos en VirtualBox para poder acceder a la aplicación Rails desde Windows
Guy C
1
Desarrollo desde Windows, mientras que rails se ejecuta en Ubunutu VM. En realidad, no "uso" la máquina virtual, ya que estoy usando SSH y uso carpetas compartidas para controlar todo desde Windows. Aquí está mi configuración bien documentada: chetane.com/2012/09/11/…
Chetane
6

Descubrí que poner en marcha un entorno de desarrollo con Instant Rails en Windows era realmente sencillo. Especialmente cuando se usa Netbeans o Radrails como IDE.

Trabajo de menos de 10 minutos.

¿Qué encontraron los que lucharon como el problema?

RichH
fuente
5

He estado desarrollando Rails en una PC con Windows durante un par de años y no tuve problemas reales para volver a instalar cuando comencé. Sin embargo, recientemente reconstruí mi máquina y tuve problemas para que funcionara el instalador de One-Click Ruby y la última versión de Gems. Así que esto es lo que intenté.

Opción 1: ejecutar una máquina virtual Linux

Me impresionó mucho la idea de Charles Roper de ejecutar Rails dentro de una máquina virtual Linux, y esta es la ruta que tomé inicialmente. Todo salió bastante bien y lo he estado documentando en budanters.blogspot.com . Sin embargo, he tenido problemas para acceder al servidor MySQL (en la máquina virtual de Linux) desde el host de Windows.

Opción 2: usa jRuby

Recientemente instalé la versión de Windows del paquete NetBeans 6.5 Ruby, y sin darme cuenta, esto instala JRuby y las gemas Rails. El IDE tiene una interfaz de usuario para instalar Gems, y ahora tengo mi aplicación anterior en funcionamiento en mi entorno de desarrollo.

Actualización de noviembre de 2009

Ahora uso Netbeans 6.7 en Windows y, en general, estoy muy contento con él. Las únicas desventajas son que instala JRuby 1.2, y necesitaba instalar JRuby 1.3 manualmente para que algo funcionara (no recuerdo qué) y no he podido hacer que la implementación funcione con Capistrano o Vlad the Deployer. Vlad usa Open4, que no funciona con JRuby.

Actualización de mayo de 2010

Netbeans 6.8 viene con JRuby 1.4, por lo que ya no tendrá que jugar con la instalación manual de JRuby 1.3. También parece que en JRuby 1.5 Open4 ahora funcionará, lo que significa que Vlad podría comenzar a trabajar.

Chico C
fuente
1
Solo quería agregar que una buena opción para ejecutar una VM de Ubuntu es usar Vagrant. Desarrolla en Windows y sus archivos se comparten con Ubuntu VM, luego puede "vagrant ssh" su VM y ejecutar comandos allí, como "servidor de rails"
carlosvini
5

¿Nadie mencionó Bitnami RubyStack todavía? Lo he estado usando durante años, junto con RadRails. Incluye Apache, MySQL / Postgre, phpmyadmin, git, etc. Opcional Ruby 1.9.2 / Rails 3.0b. También puede ejecutar la versión Ubuntu de RubyStack en una máquina virtual, pero todavía no lo he probado.

chi
fuente
3

Personalmente, encontré que poner Ruby + Rails en funcionamiento en Windows es muy fácil. Desde la descarga hasta la navegación a mi primera aplicación 'HelloWorld' me llevó 15 minutos. Ni siquiera me molesté con ninguna de las cosas de InstantRails.

Posteriormente, no puedo decir que encontré ninguno de los problemas de velocidad informados o problemas con Gems en Windows.

Estos chicos también hacen un buen complemento de desarrolladores de Ruby para Visual Studio:

http://www.sapphiresteel.com/

Kev
fuente
Si nunca ha usado Rails en OS X o bajo * nix, probablemente no notará la diferencia de velocidad. Es cuando contrasta los dos que la diferencia se hace evidente.
Charles Roper
Quizás, pero lo que quiero decir es que no hubo nada notablemente lento que me hiciera pensar 'demonios, esto está corriendo como un perro'.
Kev
¿Cómo instaló ruby ​​+ ruby ​​on rails en Windows?
2

La última vez que jugué con Rails en Windows, usé Instant Rails y descubrí que era un proceso bastante doloroso, excepto por la falta de actualizaciones de Instant Rails (que, desde el punto de vista del sitio web, sigue siendo un pequeño problema , ya que instant Rails 2.0 usa ROR 2.0, mientras que la versión más nueva es 2.1). También puede buscar las respuestas a esta pregunta, ya que menciona varias otras formas de hacer que RoR se ejecute en Windows fácilmente.

Paul Wicks
fuente
No es difícil instalar Rails 2.1 'rieles de actualización de gemas'
RichH
@Paul Wicks ¿De verdad te refieres a doloroso? @RichH Creo recordar que también necesitaba un "sistema de actualización de gemas" (hice lo que decía el libro beta de Ruby on Rails de los programadores pragmáticos), pero estoy de acuerdo en que no es difícil actualizarlo
Steve Bosman
1

Tiene opciones de Windows para instalar todo, como Instantrails :

Sin embargo, mi experiencia personal al intentar que los colegas se pongan en funcionamiento en Windows es que es una experiencia bastante dolorosa. Debería poder hacer que la mayoría (si no todo) funcione, pero prepárese para pasar un poco de tiempo tonteando (y frustrando).

YMMV

Probablemente recomendaría Linux o Mac para el desarrollo de rieles (pero estoy un poco sesgado en contra de Windows, por lo que es posible que deba tomarlo con un grano de sal).

Dave Smylie
fuente
1

Una opción si está atascado en Windows es tener servidores virtuales que ejecuten Linux / BSD / what-have-you.

También resuelve muchos otros problemas (permitiéndole probar múltiples configuraciones de servidor fácilmente, etc.).

Neall
fuente
1

Si no puede alejarse de Windows, use VMware y ejecute algún tipo de linux (ubuntu es popular). Su limitación número 1 serán las gemas compiladas que no funcionan bien en Windows.

La mayoría de los tutoriales asumen que estás en algún tipo de * nix, es cuando empiezas a romper fuera del andamio básico cuando sentirás el dolor. La manipulación de imágenes, la búsqueda de texto completo e incluso algunos adaptadores de base de datos solo se ejecutarán en * nix o son difíciles de configurar.

La mayoría de los servidores web también ejecutan Linux, es bueno desarrollar en la misma plataforma que su servidor, para evitar problemas de implementación.

MatthewFord
fuente
1

En general, el rendimiento de Rails es un problema en Windows.

En cuanto a la configuración de su implementación, puede ejecutar Rails en FCGI o usar mongrel (y configurar Apache o IIS como proxy). mod_rails ( http://www.modrails.com ) es la mejor opción de implementación para Rails en la actualidad, pero no se ejecuta en Windows.

Puede encontrar más suerte al usar JRuby en Windows para ejecutar Rails en cualquier entorno JVM que desee (tomcat, servidor J2EE, etc.).

IronRuby aún no está allí para ejecutar Rails en un entorno de producción, pero eventualmente estará destinado a ejecutar Rails dentro de cualquier entorno ASP.NET (IIS).

Jimmy Schementi
fuente
1

Podrías usar Cygwin y su versión de Ruby. Eso elimina los argumentos sobre las gemas compiladas que no funcionan en Windows; me las he arreglado para compilar muchas gemas de esa manera.


fuente
1

La mayor limitación de la ejecución en Windows es que muchas cosas son muy lentas.

Vea este hilo . Para una discusión.

Cosas simples como "script / consola" y ejecutar tareas de rake tomarán 5 veces más tiempo en Windows que en Linux o Mac.

Otras limitaciones son:

  • No IE6 en Vista.
  • BackgroundRB y muchas otras gemas basadas en c no funcionan en Windows.
  • Sin pasajero
Sam Saffron
fuente
1

Yo mismo no soy desarrollador de rieles, pero pensé que esto podría ser de interés. Microsoft ha lanzado IronRuby 1.0, es una versión de Ruby que se ejecuta en la plataforma .NET que aparentemente se ejecuta 4 veces más rápido que la implementación oficial de Rails en Windows.

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

Sitio oficial http://ironruby.codeplex.com/

Doobi
fuente
1
Ironruby parece estar durmiendo desde hace más de un año.
respuesta
0

Para acelerar, puede probar la parte superior de mi cargador de velocidad (ayuda a que los rieles funcionen más rápido en doze): https://github.com/rdp/faster_require También revise spork, que funciona en doze

Rogerdpack
fuente
0

La alternativa de RailsIntaller es RailsFTW . Los Ruby & Rails están más actualizados.

nulo
fuente