运行Metrical时出错

时间:2011-08-10 17:50:05

标签: ruby-on-rails-3 metrical

我有一个Ruby 1.9.2和Rails 3.0.9开发环境。当我在我的应用程序上运行gem“metrical”时,我收到以下错误:

** Running the specs/tests in the [test] environment
Analyzing:     100% |oooooooooooooooooooooooooooooooooooooooooo| Time: 00:00:00
/Users/tester/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych/visitors/emitter.rb:17:in `end_document': undefined method `write' for #<Syck::Emitter:0x000001028d2388> (NoMethodError)

其他人见过这个问题?我对这个错误缺乏想法。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,似乎与使用Ruby 1.9.2的YAML解析相关

我入侵了公制fu并插入了一个明确的心理YAML引擎要求:

metric_fu-2.1.1 / LIB / metric_fu.rb:

require 'rake'
require 'psych'  # <-- added here
require 'yaml'

现在有效......

答案 1 :(得分:0)

最简单的解决方案是在运行metrical时设置RUBYOPT环境变量,所以不要使用metrical来键入:

RUBYOPT='-rpsych' metrical

我这样做,一切正常。这篇博客文章为我找到了它:http://excid3.com/blog/undefined-method-write-for-syckemitter/(可能比攻击metric_fu更简单,直到他们解决了这个问题。)