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!
Excelente post, estos cambios empezaron cuando salió la version 3 de Rails, en versiones anteriores no había ningún problema…
Gracias
Julio
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.
funcionó !!!
muchas gracias!!!!!
fede
¡cuanto me alegro!
Justo lo que buscaba gracias !!!
Me alegro. De nada.
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!
Sí, es una pena que a veces resulte tan confusa la instalación. Me alegro de que te sirvieran estas instrucciones. Otro abrazo.
Tube todos los problemas que usted escribió.
Ahora funcionana ok.
Mis versiones:
sqllite: 3.7.3
rails: 3.0.3
!Muchisimas gracias de Brasil!
Segui cada paso.
y problema solucionado
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
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.
Genial el post paa salir de dudas con sqlite y gem
Gracias
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
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
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.
Todos los problemas que mencionaste los tuve. Gracias a este artículo pude por fin instalar sin problemas.
Muchas gracias!!!
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!
Tengo problemas con esto
gem install mysql2
por favor su ayuda
Con esa descripción del problema no se puede hacer nada. Por favor especifica un poco más. Un saludo.
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
Ruta ingresada:
http://localhost:3000/MyTest/
Mensaje mostrado en el Navegador:
Routing Error
No route matches [GET] «/MyTest»
Saludos
Gracias Master, me salvaste
simplemente tu blog de programacion es exelente amigo felicitaciones si algun dia nos encontramos te debo un favor enorme
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.
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.
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)
Gracias ! bien explicado
Hola amigo:
Ante todo el tutorial muy bueno, con el he podido isntalar ruby.
Pero tengo un problema a la hora de lanzarlo.
He hecho «c:> rails new nombre_proy» y me ha creado la app.
Pero cuando hago «c:> rails server» me muestra la ayuda de rails y no se muy bien que hacer. También he probado con «c:> rails s»
¿Podríais ayudarme para poder comenzar?
Muchas gracias
Hola!, ¿qué versión de ruby y de rails has instalado?. Quizá tengas algún problema en el PATH del sistema.
Esta es la documentación oficial del comando de línea «rails» :
http://guides.rubyonrails.org/command_line.html
Y como puedes ver, a fecha de hoy, «rails server» sigue siendo la manera de levantar webrick… La verdad es que no sé cuál puede ser el problema aparte del PATH.
Buenas, te comento que recien empiezo con ruby on rails, quiero instalarlo en window 7 para ello utilizo railsinstaller hasta ahi todo bien cuando termina va a la consola de window para que ingrese el nombre y el mail, pero me da error y no me deja pasar de ahi me dice que el archivo .gitconfig no se pudo crear, probe de mil maneras y no hay caso, desde ya mucha gracias
Hola José Luis. La verdad es que hace mucho que dejé Windows atrás, pero por lo que comentas parece ser que simplemente te has atascado en un paso que no es obligatorio: asociar tu aplicación con un repositorio Git. En cualquier caso parece un problema de permisos…