【问题标题】:RoR -- NoMethodError: private method `open' called for Gem::Package:ClassRoR -- NoMethodError: 为 Gem::Package:Class 调用私有方法 `open'
【发布时间】:2012-02-09 00:48:02
【问题描述】:

嘿,有谁知道这个错误信息是什么意思?我从源代码安装了 ruby​​,然后继续安装 ruby​​gems,然后通过 gem install rails 安装 rails

创建一个新项目后,我做了一个bundle install 并得到了这个错误:

mark@mark-laptop:~/guide/first_app$ sudo bundle install Fetching https://rubygems.org/的源索引

NoMethodError: 私有方法open' called for Gem::Package:Class An error occured while installing rake (0.9.2.2), and Bundler cannot continue. Make sure thatgem install rake -v '0.9.2.2'` 成功 在捆绑之前。

我执行了那个命令 (gem install rake -v '0.9.2.2'),它运行良好.. 我很困惑

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    在安装/更新 ruby​​gems 后尝试gem install bundler 安装/更新捆绑程序。

    当我遇到你的问题时,它对我有用。

    【讨论】:

      【解决方案2】:

      这似乎是来自 GitHub 的 ruby​​gems 主分支中的一个错误。如果您从 http://rubygems.org/pages/download 获取 1.8.24 的存档,则一切正常。

      【讨论】:

        【解决方案3】:

        我有 ruby​​gems 2.0.3,我得到了同样的错误。我删除了项目中的 gemfile.lock 文件。我出错的唯一改变是 从 在捆绑之前确保gem install rake -v '0.9.2.2' 成功。 变成 在捆绑之前确保gem install rake -v '10.0.3' 成功。 新的 gem install rake 也对我有用。

        【讨论】:

          【解决方案4】:

          在运行带和不带 sudo 的命令时,您可能使用不同的 ruby​​ 版本和 gem。你可以试试跑

          sudo ruby -v
          

          ruby -v
          

          此外,您还可以检查不同的 gem 路径

          gem env
          

          sudo gem env
          

          【讨论】:

            【解决方案5】:
            1. gem 更新 --system
            2. gem 安装捆绑器

            【讨论】:

              猜你喜欢
              • 2013-02-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-09-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多