我遇到了一个之前从未遇到过的问题。前几天,当我进入我的Sinatra项目中的Ruby项目并尝试运行bundle install时,出现了以下错误:
/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版本后,我尝试运行其他的gem(例如rails)。于是我运行了rails s,结果出现了与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有关吗?我似乎想不起来最近几天是否做过任何不寻常的事情导致了这个问题。我唯一做的事情就是切换到带有Oh My ZSH的ZShell,但这不可能影响到这个问题。问题可能出在哪里?应该彻底卸载rvm然后重新安装它,再添加我拥有的ruby -v吗?我的环境是Mac OS X Lion。提前感谢。
编辑:
我现在解决了这个问题。我的转换到oh my zsh确实是引起问题的原因。我在找到答案的地方之一是这里:https://dev59.com/e2445IYBdhLWcg3wpb8P#4755696
基本上你需要做的是在你的
~/.zshrc
添加这一行:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
这个命令可以在shell会话中加载rvm。问题解决了!感谢Felix Rabe指导我正确方向。
which
命令时会得到什么?例如which gem
或which bundler
?您能在IRB中执行require 'bundler/setup'
并获得true吗? - Felix Rabe.zshrc
文件中非常有效!节省了我数小时的烦恼。+1 - Jules Copeland