Rails cron每当gem出错时,bundle:command not found

Jac*_*urt 0 cron ruby-on-rails amazon-ec2 whenever

我已经阅读过这篇文章.每当有错误并试图实施建议都无济于事.我仍然收到'/ bin/bash:bundle:command not found'错误.在Amazon EC2上.

哪个红宝石

/usr/local/bin/ruby
Run Code Online (Sandbox Code Playgroud)

哪个捆绑

/usr/local/bin/bundler
Run Code Online (Sandbox Code Playgroud)

schedule.rb

env :PATH, ENV['PATH']
require File.expand_path('../application', __FILE__)
set :output, "log/cron_log.log"

every 1.minutes do
  rake "calculate:calculate"
end
Run Code Online (Sandbox Code Playgroud)

crontab -e

          • / bin/bash -l -c'cd/srv/www/myapp/releases/20141022032959 && RAILS_ENV =开发包exec rake计算:calculate --silent >> log/cron_log.log 2>&1'

tail -f log/cron_log.log

/bin/bash: bundle: command not found
Run Code Online (Sandbox Code Playgroud)

当我从crontab复制命令并直接运行它时,一切正常(cd/srv/www/myapp/releases/20141022032959 && RAILS_ENV =开发包exec rake calculate:calculate --silent >> log/cron_log.log 2> &1).这是/ bin/bash的前置,这搞砸了这个.

每当gem识别正确的PATH时,我如何获得schedule.rb /.

van*_*oom 16

忘记cron文件中的PATH设置.设置PATH不起作用.

在config/schedule.rb中明确设置要捆绑的路径

set :bundle_command, "/usr/local/bin/bundle exec"
Run Code Online (Sandbox Code Playgroud)

编辑:添加exec以便任务可以运行

  • 刚试过它.不应该实际上是``/ usr/local/bin/bundle exec"``? (3认同)