【问题标题】:Ruby Dashing Error红宝石冲刺错误
【发布时间】:2013-12-20 22:56:58
【问题描述】:

我尝试安装this dashing widget,运行dashing start时出现以下错误

/var/lib/gems/1.9.1/gems/dashing-1.3.1/lib/dashing.rb:26:in `block (2 levels) in <top (required)>': undefined method `history' for Sinatra::Application:Class (NoMethodError)

然后我删除了这个新小部件的所有方面(它在 /widgets 目录中的文件夹、它的作业 .rb 文件和 .erb 文件中的代码)。但是,此错误仍然存​​在,我什至无法启动仪表板。这对我来说是个大问题。有人可以帮帮我吗?

编辑:

完整的错误是

/var/lib/gems/1.9.1/gems/dashing-1.3.1/lib/dashing.rb:26:in `block (2 levels) in <top (required)>': undefined method `history' for Sinatra::Application:Class (NoMethodError)
        from /var/lib/gems/1.9.1/gems/dashing-1.3.1/lib/dashing.rb:25:in `open'
        from /var/lib/gems/1.9.1/gems/dashing-1.3.1/lib/dashing.rb:25:in `block in <top (required)>'
/usr/lib/ruby/1.9.1/psych.rb:203:in `parse': (history.yml): control characters are not allowed at line 1 column 1 (Psych::SyntaxError)
        from /usr/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
        from /usr/lib/ruby/1.9.1/psych.rb:151:in `parse'
        from /usr/lib/ruby/1.9.1/psych.rb:127:in `load'
        from /usr/lib/ruby/1.9.1/psych.rb:297:in `block in load_file'
        from /usr/lib/ruby/1.9.1/psych.rb:297:in `open'
        from /usr/lib/ruby/1.9.1/psych.rb:297:in `load_file'
        from /var/lib/gems/1.9.1/gems/dashing-1.3.1/lib/dashing.rb:31:in `<top (required)>'
        from config.ru:2:in `require'
        from config.ru:2:in `block in <main>'
        from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
        from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
        from config.ru:1:in `new'
        from config.ru:1:in `<main>'
        from /var/lib/gems/1.9.1/gems/thin-1.6.1/lib/rack/adapter/loader.rb:33:in `eval'
        from /var/lib/gems/1.9.1/gems/thin-1.6.1/lib/rack/adapter/loader.rb:33:in `load'
        from /var/lib/gems/1.9.1/gems/thin-1.6.1/lib/thin/controllers/controller.rb:182:in `load_rackup_config'
        from /var/lib/gems/1.9.1/gems/thin-1.6.1/lib/thin/controllers/controller.rb:72:in `start'
        from /var/lib/gems/1.9.1/gems/thin-1.6.1/lib/thin/runner.rb:200:in `run_command'
        from /var/lib/gems/1.9.1/gems/thin-1.6.1/lib/thin/runner.rb:156:in `run!'
        from /var/lib/gems/1.9.1/gems/thin-1.6.1/bin/thin:6:in `<top (required)>'
        from /usr/local/bin/thin:23:in `load'
        from /usr/local/bin/thin:23:in `<main>'

【问题讨论】:

  • 检查堆栈跟踪,而不仅仅是这一行,看看它在哪里被调用。
  • 我已经包含了完整的错误信息
  • 我的 psych.rb 文件似乎有问题
  • 也许它试图解析的 YAML 文件有错误?
  • history.yml 是空的。是这个问题吗?

标签: ruby dashing


【解决方案1】:

我通过重命名旧的历史文件解决了这个问题

mv history.yml history

然后重新启动服务器。就我而言,那是

rackup -p 3030 -s puma

history.yml 文件直到我停止服务器后才重新出现。我用nano检查了它,它充满了数据。 抱歉,我无法解释为什么会发生这种情况。 服务器详细信息。 Ubuntu 13.10 32 位桌面

【讨论】:

  • 我今天发现 history.yml 出现问题的一个可能原因是在 Dashing 运行时关闭了 SSH 连接(Windows 蓝屏了我,所以这不是我的错!)。为了避免这种情况,请使用守护进程开关“rackup -p 3030 -s puma -D”,因为这会在 puma 启动后返回到提示符。在测试作业时不是很有用,但它确实可以解释问题
猜你喜欢
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-28
  • 2010-11-20
  • 2017-05-26
  • 2016-02-18
相关资源
最近更新 更多