无论何时在cron中,gem的命令都不起作用

时间:2017-07-20 07:13:33

标签: ruby-on-rails ruby linux cron

我有一个简单的rails应用程序与gem一起。还有一个模块:

module Module1
  class << self
    def say_hi
      puts "hi123"
    end
  end
end

当我设置 时,会将其添加到cron:

* * * * * /bin/bash -l -c 'cd /home/user123/my_app && bundle exec script/runner -e production '\''Module1.say_hi'\'''

它不起作用。当我在终端中直接运行它时,该命令返回:

/bin/bash: bundle: command not found

然后我试试这个:

cd /home/user123/my_app && bundle exec script/runner -e production 'Module1.say_hi'

现在错误是:

bundler: command not found: script/runner

但是,我的rails应用程序运行良好;捆绑包和其他东西都已安装。

1 个答案:

答案 0 :(得分:0)

  

您还可以通过将以下内容放在schedule.rb文件的顶部来确保您的PATH在crontab中结束:

env :PATH, ENV['PATH']
  

chek this   如果上述解决方案不适合您,请尝试:

env :GEM_PATH, ENV['GEM_PATH']