Instalar Ruby on Rails en Windows 7

En el momento de escribir este artículo:
Versión de Ruby : 1.9.2
Versión de RubyGems : 1.3.7
Versión de Rails : 3.0.0

Según la página de RoR la instalación es coser y cantar, sin embargo la realidad es algo diferente. La teoría, según http://rubyonrails.org/download es:
1. Descargar el instalador de Ruby y ejecutarlo.
2. Descargar RubyGems e instalarlo usando el comando “ruby setup.rb” en la carpeta que acabamos de descomprimir.
3. Instalar Rails mediante RubyGems ejecutando el comando “gem install rails”.

En la práctica, el paso 1 funciona sin problemas, pero al intentar instalar RubyGems nos encontramos con el error:

“source_index.rb:68:in `installed_spec_directories’: undefined method `path’ for Gem:Module (NoMethodError)”

Después de dar muchas vueltas averigüé que el problema es que Ruby 1.9.2 ya viene con RubyGems de serie, por lo que el intento de reinstalación falla. Solución: Simplemente obviar la instalación de RubyGems. Simple, ¿no?, espero haberte ahorrado varias horas de revisión de código, lectura de foros, etc.

Bien, el siguiente paso es instalar Rails, lo cual va como la seda.

Una vez instalado, sin embargo, cuando intentemos poner en marcha nuestro primero proyecto después de crearlo y cuando ya pensábamos que estaba todo ganado, el sistema nos volverá a sorprender con otro mensaje de error:

“Could not find sqlite3-ruby-1.3.1-x86-mingw32 in any of the sources”

Este es fácil de solucionar, Ruby nos informa que sqlite no está instalado, y como es el servidor de BD por defecto, se queja. Ejecutando:

gem install sqlite3-ruby

queda solucionado. Sin embargo la impaciencia nos hará volver a intentar lanzar nuestro proyecto, así que es muy posible que obtengamos el nuevo error :

“sqlite3-ruby-1.3.1-x86-mingw32/lib/sqlite3.rb:6:in `require’: no such file to load — sqlite3/sqlite3_native (LoadError)”

Otra vez volví a dar muchas vueltas hasta que me di cuenta de que al instalar sqlite3, el sistema me había informado que las DLLs necesarias para poder ejecutar este módulo (gem) están en http://www.sqlite.org/sqlitedll-3_6_23_1.zip, es decir la instalación del módulo mediante “gem install” no es suficiente, además hay que instalar una dll manualmente. Así que descargamos ese fichero, lo descomprimimos y copiamos su contenido en la carpeta bin de nuestra instalación de Ruby, que en mi caso es c:\Ruby192\bin\. Una vez hecho esto, podremos por fin poner nuestro servidor Webrick en marcha y comenzar a trabajar simplemente ejecutando:

rails server

Espero que sea de utilidad. ¡Y happy Railing!

    • Julio
    • October 2nd, 2010

    Excelente post, estos cambios empezaron cuando salió la version 3 de Rails, en versiones anteriores no había ningún problema…

    Gracias

    Julio

  1. Juanfer

    Hola Julio,
    es posible, yo hasta ahora sólo había trabajado con Rails en Linux prácticamente sin incidencias. Mi primer contacto con Rails en Windows fue el que dio pie a este post. Me alegro de que te haya ayudado.

    • fedes
    • October 11th, 2010

    funcionó !!!

    muchas gracias!!!!!

    fede

  2. Juanfer

    ¡cuanto me alegro!

    • putxi
    • October 30th, 2010

    Justo lo que buscaba gracias !!!

  3. Juanfer

    Me alegro. De nada.

  4. La verdad que funcionó al toque. Muchísimas gracias! no había empezado a desarrollar en Rails 3 porque nunca pude instalarlo ni sobre Windows ni sobre Linux jaja, siempre un problema diferente y terminaba desistiendo.
    Un abrazo!

  5. Juanfer

    Sí, es una pena que a veces resulte tan confusa la instalación. Me alegro de que te sirvieran estas instrucciones. Otro abrazo.

  6. Tube todos los problemas que usted escribió.
    Ahora funcionana ok.

    Mis versiones:
    sqllite: 3.7.3
    rails: 3.0.3

    !Muchisimas gracias de Brasil!

    • Felipe
    • December 24th, 2010

    Segui cada paso.
    y problema solucionado

    • Albert
    • February 7th, 2011

    Yo he instalado ruby (1.9.2) y MySQL (6.0) en Windows7. Todo bien hasta que debo hacer Ruby script\server (siguiendo el tutorial http://oreilly.com/pub/a/ruby/archive/rails.html?page=2) y entonces me da un error:
    “No such file or directory –script/server ”

    Soy nuevo en esto y no sé que debo hacer. Agradeceré cualquier ayuda.

    Saludos,
    Albert

  7. Juanfer

    Hola Albert, en este caso lo importante no es tanto la versión de Ruby sino la de Rails. Por lo que comentas supongo que estarás usando la versión 3.0.x, en cuyo caso debes reemplazar las llamadas a “ruby script\xxx” por “rails xxx”, es decir, en tu caso: rails server, desde la carpeta raíz en la que estés desarrollando tu aplicación. Espero que te sea de utilidad.

    • YAYO
    • March 28th, 2011

    Genial el post paa salir de dudas con sqlite y gem

    Gracias

    • Adan
    • March 31st, 2011

    No mi hermano, a mi no me funciono en windows 7, se me trabo la compu instalando el rail y ahora me da un error al querer instalar de nuevo.

    Se pego al instalar la documentacion, supuestamente instalo bien el rail 3.0.5 pero da error al querer instalar la documentacion.

    Ayuda…Gracias

    • Adan
    • March 31st, 2011

    ruby 1.9.2p180 (2011-02-18) [i386-mingw32]

    C:\Users\Adan>gem install rails
    Successfully installed rails-3.0.5
    1 gem installed
    Installing ri documentation for rails-3.0.5…
    ERROR: While executing gem … (TypeError)
    incompatible marshal file format (can’t be read)
    format version 4.8 required; 0.0 given

  8. Juanfer

    Hola Adan, no me he topado con ese problema nunca. En estos momentos no tengo mucho tiempo para ayudarte a investigarlo, pero veo que estás usando la ultimísima versión de Rails y de Ruby, con las que por el momento no he probado. ¿Y si lo intentas con la versión previa de Rails?. Si encuentras una solución te agradeceré que nos la cuentes. Un saludo y suerte.

  9. Todos los problemas que mencionaste los tuve. Gracias a este artículo pude por fin instalar sin problemas.

    Muchas gracias!!!

    • rakenuke
    • July 22nd, 2011

    si, el post me ha sido de mucha ayuda, caramba, llevaba un tiempo dando cabezazos con el famoso error, pero bueno, ya no mas, verdad. Nada, muchas gracias bro!

    • hjev
    • August 13th, 2011

    Tengo problemas con esto
    gem install mysql2
    por favor su ayuda

  10. Juanfer

    Con esa descripción del problema no se puede hacer nada. Por favor especifica un poco más. Un saludo.

    • Angel
    • September 9th, 2011

    Hola amigos, estoy usando una versión de rails 3.0.x reemplaze la llamada a “ruby script\xxx” por “rails xxx” para crear un controler:
    e:\rails\cookbook>rails generate controller MyTest
    create app/controllers/my_test_controller.rb
    invoke erb
    create app/views/my_test
    invoke test_unit
    create test/functional/my_test_controller_test.rb
    invoke helper
    create app/helpers/my_test_helper.rb
    invoke test_unit
    create test/unit/helpers/my_test_helper_test.rb
    invoke assets
    invoke coffee
    create app/assets/javascripts/my_test.js.coffee
    invoke scss
    create app/assets/stylesheets/my_test.css.scss

    y todo muy bien hasta ahí, pero al tratar de llamar desde el navegador (Firefox 6) a ese controller no lo consigue !…
    Qué estara pasando ?
    Nota: tengo el servidor activo.
    e:\rails\cookbook>rails server
    => Booting WEBrick
    => Rails 3.1.0 application starting in development on http://0.0.0.0:3000
    => Call with -d to detach
    => Ctrl-C to shutdown server
    [2011-09-09 04:34:22] INFO WEBrick 1.3.1
    [2011-09-09 04:34:22] INFO ruby 1.9.2 (2011-02-18) [i386-mingw32]
    [2011-09-09 04:34:22] INFO WEBrick::HTTPServer#start: pid=5272 port=3000

    • Angel
    • September 9th, 2011

    Ruta ingresada:

    http://localhost:3000/MyTest/

    Mensaje mostrado en el Navegador:

    Routing Error
    No route matches [GET] “/MyTest”

    Saludos

    • mauricio guglielmi
    • February 10th, 2012

    Gracias Master, me salvaste

    • moises
    • January 31st, 2013

    simplemente tu blog de programacion es exelente amigo felicitaciones si algun dia nos encontramos te debo un favor enorme

  11. Juanfer

    Hola Moisés. Me alegro de que te haya servido el artículo a pesar de que a estas alturas ya se ha quedado un poco anticuado.

    • Axel
    • March 11th, 2013

    Bueno pues yo estoy empezando con ruby pero como me habian contado antes que daba muchos problemas busque la forma de encontrar una pagina que me dijera que hacer. Y me encontre con tu pagina y pues la verdad espero que no tenga ningún problema en el futuro.

    • angela
    • April 24th, 2013

    Holas, soy nueva en ruby, pues mi version de ruby instalado es: 2.0 y pues cuando hago: rails s, me sale cannot load such file — sqlite3/sqlite3_native (LoadError)

    • ruben
    • May 8th, 2013

    Gracias ! bien explicado

  1. No trackbacks yet.

Comment Spam Protection by WP-SpamFree

@jfcapristan