読者です 読者をやめる 読者になる 読者になる

ruby on railsでwheneverでrakeタスクを実行させようとすると”/bin/bash: bundle: コマンドが見つかりません”

railsのタスクスケジューリングgem「whenever」でrakeタスクを登録してログを見てみると、以下のようなエラーが出た。

/bin/bash: bundle: コマンドが見つかりません

どうやら、パスをschedule.rbに登録しておく必要がある。

以下の記述をconfig/schedule.rbの上の方に追加

env :PATH, ENV['PATH']

これでシステムのPATHをそのまま使える

参考までに、scheduler.rbを載せときます。

set :output, "/home/hoge/application/log/whenever.log"
set :environment, :development

env :PATH, ENV['PATH']

every '0,15,30,45 * * * *' do
  rake 'twitter:tweet'
end

ちなみに、wheneverのインストールはここを参考

Wheneverは導入が超簡単なcrontab管理ライブラリGemです![Rails4.2 x Ruby2.3] - 酒と泪とRubyとRailsと