2011-08-17 10 views
6

He actualizado a rails 3.0.9 que ha introducido los problemas de rake. Lo he resuelto todo, excepto por un problema con un trabajo cron.problema cron y bundle exec

Esto funcionaba:

#!/bin/sh 
source /usr/local/rvm/scripts/rvm 
cd /home/p1r65759/apps/abbc/ 
/usr/local/bin/rake refresh_events RAILS_ENV=production 

Pero ahora me sale este error: ya ha activado el rastrillo 0.8.7, pero su Gemfile requiere rastrillo 0.9.2. Considere el uso de bundle exec. /home/p1r65759/aplicaciones/abbc/Rakefile: 4: en `' (Ver traza completa mediante la ejecución de tareas con --trace)

¿Cómo modifico mi script para usar exec paquete por lo que utilizará el correcto versión de rake y ejecutar con éxito? Gracias.

+0

Tiene un problema similar, pero no tiene RVM. De todos modos, tal vez puedas especificar la ruta para rastrillar 0.9.2 o actualizar tu sistema rastrillo joya a 0.9.2 (dependiendo de si esta es la única aplicación en el servidor ...) – wesgarrison

+0

Reparado, gracias al soporte técnico en HostingRails.com . Acabo de cambiar la última línea para agrupar exec raske refresh_events RAILS_ENV = producción. No necesitaba el camino en frente de él tampoco. No sabía que pudieras hacer eso. – Brett

+0

Agregue eso como una respuesta, luego, y acéptelo. Para la posteridad y futuros googlers :-) – wesgarrison

Respuesta

9

Si está utilizando el paquete para su aplicación, entonces no necesita usar "/ usr/local/bin/rake" como ruta para el rake.

sólo se puede utilizar

bundle exec rake

por lo que su nuevo guión habrá

 
#!/bin/sh 
source /usr/local/rvm/scripts/rvm 
cd /home/p1r65759/apps/abbc/ 
bundle exec rake refresh_events RAILS_ENV=production 

paquete ejecutivo funcionará porque ya se encuentra en el directorio del proyecto.

Y no se olvide de incluir rastrillo en su Gemfile.

4

en lugar de

/usr/local/bin/rake refresh_events RAILS_ENV=production 

se debe utilizar

bundle exec rake refresh_events RAILS_ENV=production 

o mejor aún instale su paquete con --binstubs:

bundle install --binstubs --without development test 

entonces tendrá bin/rastrillo:

./bin/rake refresh_events RAILS_ENV=production 
Cuestiones relacionadas