Ruby 宝石安装坏了?

Ruby 宝石安装坏了?,ruby,gem,rvm,bundler,Ruby,Gem,Rvm,Bundler,我面临着一个我以前从未遇到过的问题。前几天,当我在Sinatra进行一个ruby项目并进行捆绑安装时,我遇到了以下错误: /Users/me/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:762:in `report_activate_error': Could not find RubyGem bundler (>= 0) (Gem::LoadError) 我觉得很奇怪,于是继续打字 gem list 在那里我看到: bun

我面临着一个我以前从未遇到过的问题。前几天,当我在Sinatra进行一个ruby项目并进行捆绑安装时,我遇到了以下错误:

/Users/me/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:762:in `report_activate_error': Could not find RubyGem bundler (>= 0) (Gem::LoadError)
我觉得很奇怪,于是继续打字

gem list
在那里我看到:

bundler (1.0.21, 1.0.2)
所以bundler就在这里。然后在尝试卸载bundler并重新安装之后,用rvm切换ruby-v,我试着运行我拥有的任何其他gem,比如rails。所以我运行了rails s和bam,得到了与bundler相同的错误:

 /Users/me/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:762:in`report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
发生了什么事?然后我用我所有的宝石做了同样的尝试,结果都出现了同样的错误。这和rvm有什么关系吗?我似乎不记得过去几天里做了什么不寻常的事情导致了这一切。我所做的唯一一件事就是用我的ZSH切换到ZShell,但这与此无关。有什么问题吗?是否应该完全卸载rvm并重新安装,然后再添加我拥有的ruby-v?我的环境是Mac OS X Lion。提前谢谢

编辑:

我现在要开始了。我切换到oh My zsh确实是导致问题的原因。我在这里找到了答案:

基本上你需要做的是在你的

~/.zshrc
添加此行:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 
将rvm加载到shell会话中。问题解决了!感谢Felix Rabe为我指明了正确的方向。

您与RVM一起使用“Oh my ZSH”可能是原因。我在谷歌上搜索了
zshrvm
,发现它在底部写着:

如果您想使用oh my zsh,请确保不要使用捆绑包。 如果rvm能处理好一切,无论如何这对你都有好处


(从我上面的评论中复制,得到一个“可接受”的答案。)

我以不同的方式解决了这个问题

我的
~/.zshrc
现在有一行插件,它解决了我遇到的问题:

plugins=(git bundler brew git osx ruby zsh语法高亮显示)


这与Ryan Bates在这里使用的配置类似:

我对此有一些想法,但没有答案。第一:你试过SlimGems吗?当您使用
哪些
命令时会得到什么?像
哪个gem
或者
哪个bundler
?您是否可以在IRB中执行
要求“bundler/setup”
并获得true?我在IRB中获得一个
未定义的局部变量或main:Object的方法bundler。在
哪个绑定器上
未找到绑定器。在
gem
I获取/Users/me/.rvm/rubies/ruby-1.9.2-p0/bin/gem。你对此有何看法?我已经准备好了另一个回复,但我刚刚想到了你切换到ZSH。也许问题就在那里。您是否已将RVM正确设置为与ZSH一起使用?对不起,这是指
哪个捆绑包
。我要检查的其他东西是
bundle-v
gem-v
。另外,看看你在Bash中得到了什么。只需在Google上搜索
zsh rvm
并找到,在底部写着:“如果你想使用哦,我的zsh,一定不要使用bundler软件包。如果rvm能为你做任何事。”很好:)我回家后会首先检查(因为错误发生在我家的私人机器上).Felix/Tim,你愿意进一步解释吗?我已经阅读了提到的rvm doc页面,它对我来说毫无意义……此外,我通过另一个途径解决了这个问题,我将留下作为答案。对不起,我自己不使用ZSH,因此我既没有技能帮助你,也没有兴趣进一步调查。很可能是这样你找到了比我更好的解决办法。