【问题标题】:Ruby - No gem to load in cronjobRuby - 无法在 cronjob 中加载 gem
【发布时间】:2011-09-29 22:12:33
【问题描述】:

我使用 rvm。并且 ruby​​ 1.9.2 安装在 rvm 中。

我有一个脚本,它在终端中运行良好。 我为同一个脚本编写了一个 cron 作业:

27 * * * * su - sayuj -c 'cd /path/to/dir; /home/sayuj/.rvm/rubies/ruby-1.9.2-p136/bin/ruby script.rb >> /var/log/script.log 2>&1'

然后显示 no gem is to load 错误。我认为 cron 不是指 rvm ruby​​ 1.9.2。

我该如何解决这个问题?

【问题讨论】:

  • 将您的脚本放入从 crontab 调用的包装外壳脚本中。这将真正有助于调试,并且可能会解决您的问题。如果确实清除了,请在顶部添加 #!/bin/bash -x 并查看对 env 的调用的输出,并与运行 env 的命令行结果进行比较。

标签: ruby gem crontab


【解决方案1】:

您需要将cd /path/to/dir; 更改为真实目录。 然后,创建一个名为 .rvmrc 的文件,其中包含以下内容:

rvm use 1.9.2

每次进入目录时都会执行,设置正确的 ruby​​ 版本。

【讨论】:

    猜你喜欢
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    相关资源
    最近更新 更多