2011-09-29 78 views
0

我使用rvm。和ruby 1.9.2安装在rvm中。红宝石 - 无需在cronjob中加载宝石

我有一个脚本,它在终端中运行良好。 我已经写了一个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' 

那么就说明没有宝石是加载错误。我认为cron并不是指rvm ruby​​ 1.9.2。

我该如何解决这个问题?

+0

将脚本放入从crontab调用的包装程序脚本中。这将真正帮助调试,并可能只是解决您的问题。如果只是清除了,请在顶部添加#!/ bin/bash -x,并查看env调用的输出,并与运行env的命令行结果进行比较。 –

回答

1

您需要将cd /path/to/dir;更改为真实目录。 然后,创建一个名为.rvmrc这个内容里面的文件:

rvm use 1.9.2 

它会执行每次你进入该目录时,设置为红宝石的正确版本。