我使用以下命令使用rvm升级了ruby:
rvm get head
rvm install 1.9.3
rvm reload
rvm use 1.9.3 --default
现在当我运行rails时,我收到以下错误消息:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:827:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:261:in `activate'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:68:in `gem'
from /usr/bin/rails:18
如果我运行哪个ruby,gem环境和ruby -v我会得到连贯的输出。谁能帮我理解我的应用程序出了什么问题?
答案 0 :(得分:2)
您是否尝试过gem install rails
?
将RVM与ruby gems一起使用意味着您可以在PATH中包含二进制文件(包括rails
二进制文件),用于未安装的gem。
这就是你的错误。
我希望bundle install
或gem install rails
可以解决您的问题。
答案 1 :(得分:1)
您应该可以通过以下方式让您的应用再次运行:
$ bundle
安装Gemfile依赖项。然后你应该运行rails server:
$ bundle exec rails s
使用bundle exec
非常重要,以确保rails命令从适用于您应用程序的rails gem运行。
如果你想了解更多关于这个的信息,Yehuda Katz有一篇详细的博文: http://yehudakatz.com/2011/05/30/gem-versioning-and-bundler-doing-it-right/