2010-12-13 6 views
5

私のアプリケーションでwhenever gemを使用しようとしていますが、schedule.rbでrakeコマンドを実行できません。投げているいつでも宝石を使用する問題

エラーはすべての私の宝石がアプリケーションに凍結されているので、私はまた、バンドラを使用しています

/bin/bash: rake: command not found 

です。

答えて

4

rakeは/ usr/local/binのような非定型ですか?これをschedule.rbに追加してみてください:

env :PATH, '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin' 
0

rakeの代わりに 'command'を使用してみてください。私のレーキは/ usr/local/binにあり、それを動作させる方法もわかりません。したがって、schedule.rbの代わりにコマンドの例を次に示します。

every 5.minutes do 
    command "cd " + `pwd`.chomp + " && RAILS_ENV=#{environment} /usr/local/bin/rake rakefile:rakemethod" 
end 

この例では、環境を渡す必要があります。私はあなたがschedule.rbを呼び出すときに '--update_crontab --set environment = beta'と指定するだけでよいと思います。

私はいつもの宝石の中でカピストラーノのレシピを使ってカピストラーノを食べさせています。私はcapistranoデプロイスクリプトでanywhere_environmentを設定する必要があります。

いつでもプロダクションにデフォルトすることができますので、私はちょうどそれを試して見てみましょう。言い換えれば、本番環境でのみこれを行う場合は、RAILS_ENV =#{環境}は必要ありません。私はいくつかのステージング環境を持っているので、スクリプトを手助けするために環境に渡します。

これを/ usr/local/bin/rakeと動作させるために、別のレーキディレクトリを指定できるのであれば!誰でもその正面を助ける?

関連する問題