2011-08-30 11 views
7

Tengo un problema mientras trato de ejecutar mi aplicación:Ya has activado el rack 1.3.2, pero tu Gemfile requiere el rack 1.2.3. Considere el uso de paquete exec

You have already activated rack 1.3.2, but your Gemfile requires rack 1.2.3. Consider using bundle exec. 

He leído mucho sobre este tipo de error, pero no encontré ninguna solución que funcionó para mí

  • ya me quité Gemfile.lock y volver a ejecutar bundle como se sugiere here
  • ya utilizo la versión más reciente de pasajeros (3.0.8) - como se sugiere here
  • el bundle exec rake truco no se puede utilizar en mi caso

Gracias por adelantado

+1

¿Puede explicar por qué se puede' t use 'bundle exec rake' en su caso? – jerhinesmith

+0

Simplemente porque la pila de errores muestra que el error surgió en'gems/bundler-1.0.18/lib/bundler/runtime.rb', y prefiero no jugar con esto tipo de archivos – AkyRhO

+0

'Bundle exec' es totalmente seguro y, por lo que yo sé, es el recobro forma enmendada de invocar rake y otros scripts. –

Respuesta

4

Run bundle install --binstubs y obtendrá bin en su raíz de la aplicación con todos los ejecutables necesarios por aplicación.

Luego necesita agregar este directorio a la ruta y el mejor lugar para hacerlo: .rvmrc si usa RVM.

[ -d './bin' ] && export PATH=`pwd`/bin:$PATH 

o simplemente ejecute ./bin/{rake|rails|etc} desde la raíz de la aplicación.

3

Trate anteponiendo el comando para ejecutar el servidor con el ejecutivo de paquete, es decir

bundle exec rails server 

O en la producción (si está usando algo así como unicornio

bundle exec unicorn [options] 
Cuestiones relacionadas