1

私は 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)

他の誰かがこの問題を見ましたか? エラーのアイデアがありません。

4

2 に答える 2

1

私は同じ問題に遭遇しました.Ruby 1.9.2でのYAML解析に関連しているようです

メトリクス fu をハックして、Psych YAML エンジンの明示的な要件を挿入しました。

metric_fu-2.1.1/lib/metric_fu.rb:

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

そして今動作します...

于 2011-09-12T10:45:23.137 に答える
0

最も簡単な解決策は、metrical を実行するときに RUBYOPT 環境変数を設定することです。つまり、metrical の代わりに次のように入力します。

RUBYOPT='-rpsych' metrical

私はそれをやっています、そしてそれはすべてうまくいっています。http://excid3.com/blog/undefined-method-write-for-syckemitter/ (修正されるまでは、metric_fu をハッキングするよりも簡単かもしれません)。

于 2012-02-04T07:15:12.993 に答える