RoR - NoMethodError:私有方法`open'要求Gem :: Package:Class

时间:2012-02-09 00:48:03

标签: ruby-on-rails ruby

嘿,有谁知道这个错误信息是什么意思?我从源代码安装了ruby然后继续安装rubygems,然后通过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 that gem install rake -v'0.9.2.2'`成功   在捆绑之前。

我做了那个命令(gem install rake -v '0.9.2.2')并且它工作得很好......我很困惑

5 个答案:

答案 0 :(得分:8)

安装/更新rubygems后,请尝试gem install bundler安装/更新bundler。

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

答案 1 :(得分:3)

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

答案 2 :(得分:3)

我有rubygems 2.0.3并且我得到了同样的错误。我删除了项目中的gemfile.lock文件。只有我错误的改变是 从 在捆绑之前确保gem install rake -v '0.9.2.2'成功。 变成 在捆绑之前确保gem install rake -v '10.0.3'成功。 新的gem安装rake也适用于我。

答案 3 :(得分:2)

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

sudo ruby -v

ruby -v

此外,您可以检查不同的宝石路径

gem env

sudo gem env

答案 4 :(得分:0)

  
      
  1. gem update --system
  2.   
  3. gem install bundler
  4.