2011-08-17 15 views
6

rakeの問題を導入したrail 3.0.9にアップグレードしました。私はcronの仕事の問題を除いてすべて解決した。cronとbundle 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が必要です。 bundle execの使用を検討してください。 /ホーム/ p1r65759 /アプリケーション/ ABBC/Rakefile:4: が、私はそれが適切に使用されますので、バンドルexecを使用するように私のスクリプトを変更するにはどうすればよい

(--traceでタスクを実行することにより、完全なトレースを参照してください)「`にレーキのバージョンと正常に実行?おかげさまで

+0

同様の問題を抱えていますが、RVMには該当しません。とにかく、rake 0.9.2へのパスを指定したり、システムレイクの宝石を0.9.2に更新したりすることができます(サーバー上の唯一のアプリケーションであるかどうかによって決まります...) – wesgarrison

+0

HostingRails.comの技術サポートのおかげで修正されました。 exec rake refresh_events RAILS_ENV = productionをバンドルするように最後の行を変更しました。その前に道が必要なかった。私はあなたがそれをすることができるかはわかりませんでした。 – Brett

+0

それを答えとして追加し、それを受け入れます。後輩と将来のGoogleのために:-) – wesgarrison

答えて

9

アプリケーションにバンドラを使用している場合、 "/ usr/local/bin/rake"をrakeのパスとして使用する必要はありません。

あなただけので、あなたの新しいスクリプトは、プロジェクトディレクトリに既にあるので

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

バンドル幹部がうまくいくだろう

bundle exec rake

を使用することができます。

そして、あなたの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 
関連する問題