Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 无法使用Clockwork启动clock.rb模块-activesupport中未定义的方法_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 无法使用Clockwork启动clock.rb模块-activesupport中未定义的方法

Ruby on rails 无法使用Clockwork启动clock.rb模块-activesupport中未定义的方法,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个网络应用程序,需要做一些背景工作。我有一个clock.rb文件,其中包含以下内容: require 'clockwork' include Clockwork require './config/boot' require './config/environment' every(5.seconds, 'ticking.get') { Resque.enqueue(TickingJob) } [...rest of the code irrelevant...] 当我尝试使用clo

我有一个网络应用程序,需要做一些背景工作。我有一个
clock.rb
文件,其中包含以下内容:

require 'clockwork'
include Clockwork

require './config/boot'
require './config/environment'

every(5.seconds, 'ticking.get') { Resque.enqueue(TickingJob) }
[...rest of the code irrelevant...]
当我尝试使用
clockwork app/clock.rb
启动文件时,出现以下错误:

/usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.0/lib/active_support/configurable.rb:31:in `config': undefined method `inheritable_copy' for #<Hash:0x000000012b3f08> (NoMethodError)
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.0/lib/active_support/configurable.rb:86:in `config'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.0/lib/active_support/configurable.rb:59:in `default_per_page='
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari/config.rb:35:in `block in <module:Kaminari>'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari/config.rb:9:in `configure'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari/config.rb:34:in `<module:Kaminari>'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari/config.rb:3:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari.rb:38:in `require'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari.rb:38:in `load_kaminari!'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari.rb:47:in `hook!'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari.rb:60:in `load!'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari.rb:73:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `require'
    from /usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from /usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `each'
    from /usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `block in require'
    from /usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in `each'
    from /usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in `require'
    from /usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler.rb:128:in `require'
    from /home/raph/public/[...]/config/application.rb:7:in `<top (required)>'
    from /home/raph/public/[...]/config/environment.rb:2:in `require'
    from /home/raph/public/[...]/config/environment.rb:2:in `<top (required)>'
    from /home/raph/public/[...]/app/clock.rb:5:in `require'
    from /home/raph/public/[...]/app/clock.rb:5:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/clockwork-0.4.0/bin/clockwork:12:in `require'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/clockwork-0.4.0/bin/clockwork:12:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/clockwork:19:in `load'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/clockwork:19:in `<main>'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval'
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>'
/usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/yaml.rb:56:in`:
您的ruby安装似乎缺少psych(用于YAML输出)。
要消除此警告,请安装libyaml并重新安装ruby。
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.0/lib/active_-support/configurable.rb:31:in`config':未定义的方法`inheritable_copy'(NoMethodError)
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.0/lib/active\u support/configurable.rb:86:在'config'中
来自/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.0/lib/active\u support/configurable.rb:59:in`default\u per\u page='10
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari/config.rb:35:in'block in'
来自/usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari/config.rb:9:in“configure”
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari/config.rb:34:in`'
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari/config.rb:3:in`'
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari.rb:38:in'require'
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari.rb:38:in'load_kaminari!'
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari.rb:47:in'hook!'
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari.rb:60:in'load!'
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.13.0/lib/kaminari.rb:73:in`'
from/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in'require'
from/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in'block(2层)in require'
from/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in'each'
from/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in'block in require'
from/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in'each'
from/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in'require'
from/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler.rb:128:in'require'
from/home/raph/public/[…]/config/application.rb:7:in`'
from/home/raph/public/[…]/config/environment.rb:2:在'require'中
from/home/raph/public/[…]/config/environment.rb:2:in`'
from/home/raph/public/[…]/app/clock.rb:5:in'require'
from/home/raph/public/[…]/app/clock.rb:5:in`'
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/clockwork-0.4.0/bin/clockwork:12:在“require”中
from/usr/local/rvm/gems/ruby-1.9.3-p194/gems/clockworks-0.4.0/bin/clockworks:12:in`'
from/usr/local/rvm/gems/ruby-1.9.3-p194/bin/clockwork:19:in'load'
from/usr/local/rvm/gems/ruby-1.9.3-p194/bin/clockwork:19:in`'
from/usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby\u noexec\u包装:14:in'eval'
from/usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby\u noexec\u包装:14:in`'

关于“psych”的第一个错误似乎与此无关(我每次都会看到它,并且我确实重新安装了
libyaml
)。至于第二个,我不知道。模块
activesupport
的代码是否不正确?

您需要移动
包含时钟系统
要求
行:

require 'clockwork'    
require './config/boot'
require './config/environment'

include Clockwork

every(5.seconds, 'ticking.get') { Resque.enqueue(TickingJob) }
[...rest of the code irrelevant...]

如果您删除了require语句下面的所有内容,是否仍会出现错误。您好,是的,如果我只留下require语句,则错误完全正确。您是否尝试将include Clockwork移到所有require语句下面?并将环境引导到最顶端。它似乎确实有效!非常感谢你@iouri,把这个作为答案贴出来,这样就可以接受了。