从cron -未初始化常量YAML::ENGINE中Rake任务



自从我将服务器升级到ruby 1.9.2以来,我在从cron运行rake任务时获得未初始化的常量YAML::ENGINE。我有同样的错误与应用程序,但把…

require 'yaml'
YAML::ENGINE.yamler= 'syck'

在启动。Rb文件修复了它。如果我在我的Ubuntu服务器上直接从命令行运行任务,它工作得很好,服务器使用RVM。

然而,从cron运行任务似乎没有拾取这个修复,我试过这个…

task :twitter, :needs => :environment do
  require 'yaml'
  YAML::ENGINE.yamler= 'syck'
  @tweets = Property.updatetwitter
end

你确定你在Ruby 1.9.2下运行它吗?因为虽然YAML::ENGINE在1.9.2中存在,但在1.8.7中没有。检查你的Ruby版本

如何从程序内部判断程序使用的是哪个Ruby版本:

puts `ruby -v`

如何强制cron任务在特定的Ruby版本下运行(如果服务器使用RVM):

rvm use 1.8.7; ...

相关内容

  • 没有找到相关文章

最新更新