2011-08-17 4 views
6

갈퀴 문제를 제기 한 레일 3.0.9로 업그레이드했습니다. 나는 cron 작업에 대한 문제를 제외하고는 모든 문제를 해결했습니다. cron 및 번들 exec 문제

작동하는 데 사용 :

#!/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 사용을 고려하십시오. /홈/p1r65759/응용 프로그램/ABBC/Rakefile : 4 : 내가 그것을 적절한를 사용할 수 있도록 번들 간부를 이용할 수 있도록 스크립트를 수정하려면 어떻게

(--trace와 태스크를 실행하여 전체 추적을 참조하십시오)`에서 레이크 버전과 성공적으로 실행? 감사합니다. .

+0

비슷한 문제가 있지만 RVM을 사용하지 않습니다. 어쨌든, 레이크 0.9.2에 대한 경로를 지정하거나 시스템 레이크 젬을 0.9.2로 업데이트 할 수 있습니다 (서버의 유일한 앱인 경우 ...) – wesgarrison

+0

HostingRails.com의 기술 지원으로 수정되었습니다. . 그냥 마지막 줄을 exec rake refresh_events RAILS_ENV = production 번들로 변경했습니다. 그것 앞에서도 경로가 필요하지 않았습니다. 네가 할 수 있다는 것을 나는 몰랐다. – Brett

+0

답변으로 추가 한 다음 동의하십시오. 후손 및 미래의 Google 직원을 위해 :-) – wesgarrison

답변

9

응용 프로그램에 bundler를 사용하는 경우 "/ usr/local/bin/rake"를 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 

번들 간부가 작동 될 것입니다 사용할 수 있습니다.

그리고 Gemfile에 레이크를 포함하는 것을 잊지 마세요.

4

대신

/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