En resumen, con RVM instalado, tiro esta secuencia de comando
el primero para instalar ruby 1.9.2:
Despues, si todo salio bien, hay que switchear a esa version de ruby
rvm use 1.9.2
Instalar la gem rails
gem install rails
Hasta ahi todo bien, pero al intentar generar un aplicacion con rails asi:
rails new testapp
Algo no funciona...
El Problema
Veran que bundle se cuelga "indefinidame
nte" y mientras ruby podria llevarse una porción apreciable de CPU (yo por mi parte espere varios minutos y lo único que obtuve fue perder un núcleo durante ese tiempo y el comando no se completo). Si bien en muchos lugares se explica que esperando un rato largo (10 o 15 minutos) el comando se completa, no es muy tolerable para lo que es el "desarrollo rapido" con RoR.
La Solucion
Buscando por la web, me encontré con este articulo, que explica cual es el problema y da una posible solución (que al menos funciono en mi caso). Básicamente explica que el problema tiene que ver con rubygems, no con bundler.
Lo que hay que hacer es asegurarse de que el cache de gems esta generado, esto se hace corriendo el comando bundle pack, como dice la explicación que extraje de la pagina:
WHAT YOU CAN DO
So it’s still slow. My general advice is to:
- Check in your
vendor/cache
directory with your .gem files. Ifbundle install
doesn’t make one, force it withbundle pack
. - On new installs, CI runs, and deploys, use
bundle --local
which will attempt to resolve using onlyvendor/cache
- Lock down to specific versions (or use the twiddle-wakka) in your Gemfile
Y despues deberia tardar mucho menos en ejecutarse
Workaround
Si por casualidad la solución que les di no funciona pueden aplicar el workaround de crear la aplicación con rails usando la opcion --skip-bundle:
Recuerden que esto causa que las gems básicas de la aplicación no se instalen, por lo que tendrán que instalarlas a mano, para eso hay que ver el archivo Gemfile que esta en el directorio raíz de la aplicacion recién creada e instalar las gemas que figuran ahí con el comando gem.
Y después si usan gemas nuevas que no se especifican por default no olviden agregarlas al Gemfile igual ya que es muy útil por si quieren deployar la app a heroku después o simplemente para que las dependencias estén explicitas. Recuerden que después se puede correr el comando "bundle install" a mano en cualquier momento.
Links
La fuente en donde conseguí la solución: http://robots.thoughtbot.com/post/2729333530/fetching-source-index-for-http-rubygems-org
Pagina oficial de RVM: http://beginrescueend.com/rvm/
Explicación de como instalar RVM: http://beginrescueend.com/rvm/install/
No hay comentarios:
Publicar un comentario