1

我的 Rails 应用程序没有运行,并且出现错误:

  cannot load such file -- safe_yaml/transform/to_symbol (LoadError)

我不知道为什么会出现这个错误。当我删除 gem 'safe_yaml' 时,它给出了错误:

 Could not find safe_yaml-0.9.4 in any of the sources (Bundler::GemNotFound)

当我安装 gem safe_yaml-0.9.4 时,它给出:

 cannot load such file -- safe_yaml/transform/to_symbol (LoadError)

谁能告诉如何解决这个问题?

谢谢

4

2 回答 2

3

safe_yaml 版本有问题。

我有 rails-admin 0.4.9。为此,在 rails_admin 0.4.9 安装 safe_yaml 0.9.4 的地方需要 safe_yaml 0.6.3。

所以我在我的 gemfile 中分别包含了 safe_yaml 0.6.3 并删除了 safe_yaml 0.6.4。

一切正常!

感谢大家的帮助。

于 2013-07-22T16:27:00.420 回答
3

0.9.4 版本的 safe_yaml 中有一个错误。文件 lib/safe_yaml/transform/to_symbol.rb 的权限为 640 而不是 644。如果您的 gem 以 root 身份安装,这将导致文件无法被任何非 root 用户读取。除了回退到 0.9.3(我认为这是之前的海报的真正含义,而不是 0.6.3),您可以自己将文件 chmod 为 644,您可以克服这个错误。

于 2013-07-29T17:28:55.103 回答