проблема cron и bundle exec - PullRequest
       5

проблема cron и bundle exec

6 голосов
/ 17 августа 2011

Я обновился до rails 3.0.9, в котором появились проблемы с рейком.Я все решил, за исключением проблемы с заданием cron.

Это раньше работало:

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

Но теперь я получаю эту ошибку: вы уже активировали рейк 0.8.7, но ваш Gemfile требует рейка 0.9.2.Рассмотрите возможность использования комплекта Exec./ home / p1r65759 / apps / abbc / Rakefile: 4: in `(просмотреть полную трассировку, запустив задачу с --trace)

Как мне изменить мой скрипт, чтобы использовать bundle exec, чтобы он использовал правильныеверсия граблей и запуск успешно?Спасибо.

Ответы [ 2 ]

9 голосов
/ 26 августа 2011

Если вы используете bundler для своего приложения, вам не нужно использовать «/ usr / local / bin / rake» в качестве пути для рейка.

вы можете просто использовать

bundle exec rake

, поэтому ваш новый скрипт будет

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

bundle exec будет работать, потому что вы уже находитесь в каталоге вашего проекта.

И не забудьте включить в свой Gemfile рейк.

4 голосов
/ 08 сентября 2011

вместо

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

вы должны использовать

bundle exec rake refresh_events RAILS_ENV=production

или, что еще лучше, установить пакет с --binstubs:

bundle install --binstubs --without development test

, тогда у вас будеткорзина / грабли:

./bin/rake refresh_events RAILS_ENV=production
...