如何解决“未初始化的常数发条(NameError)”

Rad*_*dek 0 ruby rubygems scheduling

我安装成功 gem clockwork

C:\web>gem install clockwork
Successfully installed clockwork-0.2.3
1 gem installed
Installing ri documentation for clockwork-0.2.3...
Installing RDoc documentation for clockwork-0.2.3...
Run Code Online (Sandbox Code Playgroud)

但是当运行简单的脚本时

require 'rubygems'
require 'clockwork'
include Clockwork

every(1.minute, 'custom.event.handler' ) do
  puts "This event has its own handler - #{Time.new.strftime("%Y%m%d%H%M%S")}"
end
Run Code Online (Sandbox Code Playgroud)

我得到这个错误

C:\web>ruby clockwork.rb
./clockwork.rb:3: uninitialized constant Clockwork (NameError)
        from C:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
        from C:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require'
        from clockwork.rb:2
Run Code Online (Sandbox Code Playgroud)

任何建议如何使发条工作

  • Windows XP
  • 红宝石1.8.7(2010-08-16补丁程序级别302)[i386-mingw32]
  • 宝石1.3.7

C:\ web> gem列表--local

*** LOCAL GEMS ***

aaronh-chronic (0.3.9)
activesupport (3.0.9)
backports (1.18.2)
clockwork (0.2.3)
daemons (1.1.0)
delayed_job (2.0.3)
eventmachine (0.12.10 x86-mswin32-60)
fastercsv (1.5.4)
haml (3.0.21)
i18n (0.6.0)
json (1.5.1)
mechanize (1.0.0)
monkey-lib (0.5.4)
nokogiri (1.5.0 x86-mingw32, 1.4.3.1 x86-mingw32)
rack (1.2.1)
rdiscount (1.6.8)
ruby-growl (3.0)
sinatra (1.2.6, 1.0)
sinatra-advanced-routes (0.5.1)
sinatra-reloader (0.5.0)
sinatra-sugar (0.5.1, 0.5.0)
thin (1.2.7 x86-mswin32)
tilt (1.3)
Run Code Online (Sandbox Code Playgroud)

Cas*_*per 5

让我给你一个提示。您自己的程序的名称是clockwork.rb,您可以在其中执行以下操作:

require 'clockwork'
Run Code Online (Sandbox Code Playgroud)

看到问题了吗?