未初始化的常量Psych :: Syck(NameError)

时间:2011-08-04 06:50:18

标签: ruby-on-rails ruby ruby-on-rails-3 rubygems

在我的宝石中我需要yaml并且在我的电脑上本地运行良好。

但是在将我的宝石推入rubygems.org并且当我尝试使用我的宝石时,我得到一个错误说=> “未初始化的常量Psych :: Syck(NameError)”

有人可以帮我解决这个问题吗?

P.S。

Ruby Version => ruby 1.9.2,
Gem Version => 1.6.2,
Bundler version => 1.0.15

1 个答案:

答案 0 :(得分:8)

经过几个小时的研究,我发现=> “YAML使用非维护的Syck库,而Psych使用现代的LibYAML”

因此,为了解决该错误,我必须更新我的gem(gem update --system,即1.8.6)并在需要yaml之前解救Psych抛出的LoadError,如下所示:

begin
 require 'psych'
 rescue ::LoadError
end

require 'yaml'

来源: