【问题标题】:Rails 3.1 on Ubuntu 11.04 via RVM - uninitialized constant Psych::Syck通过 RVM 在 Ubuntu 11.04 上运行 Rails 3.1 - 未初始化的常量 Psych::Syck
【发布时间】:2011-05-30 23:36:34
【问题描述】:
gem install rails --pre
ERROR:  While executing gem ... (NameError)
    uninitialized constant Psych::Syck

我似乎找不到任何有关如何解决此问题的信息。其他人有同样的问题吗?

我在 RVM 中使用新创建的 gemset 和 Ruby 1.9.2

【问题讨论】:

    标签: ruby-on-rails ubuntu ruby-on-rails-3.1


    【解决方案1】:

    我通过 RVM 在 mac 上遇到了完全相同的问题。指定版本是我的救星。

    gem install rails --pre --version 3.1.0.rc1
    

    使用 ruby​​gems 1.8.4 更新 (2011-06-12),我可以在不指定版本的情况下安装 rails 3.1.0.rc4。

    【讨论】:

    • 我认为在没有指定版本的情况下,某些版本的 ruby​​gems 似乎会搜索旧版本的 gem,并且由于旧 gem 的元数据序列化 Psych::Syck 而无法 Marshal.load 旧 gem 的元数据。 Syck 是旧版本的 YAML 引擎,似乎随着 ruby​​ 1.9.2 的发布而被删除。
    • FWI,我找到了a related ticket
    • 也解决了我的问题!谢谢! :-D
    • 有同样的问题..工作..非常感谢! +1
    • 这不适用于我在本地构建和安装的一个非常简单的 gem,还使用 ​​OSX 和 RVM 以及 ruby​​gems v1.8.5,但是执行 gem sources -c,从 gemspec 中删除所有依赖项然后重建和重新安装对我有用,不需要指定版本号。 YMMV。您可能需要将 rvmsudo 添加到这些 gem 命令中。
    【解决方案2】:

    我遇到了完全相同的问题,这里提到的其他解决方案对我不起作用。

    但是,这样做:

    gem update --system
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 2011-05-31
      • 2011-07-07
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多