缺少Rails gem错误,但已安装!

时间:2010-11-09 18:00:19

标签: ruby-on-rails passenger rvm

所以我是rails的新手,我实际上正在关注Lynda.com的视频教​​程,以便学习它。我没有按照安装在视频上的步骤进行操作,因为我听说过RVM,到目前为止它已经完成了所有设置。但是我仍然在视频的早期,并且无法通过一些非常简单的事情......所以我希望有人可以帮助我。

有一些背景:

  • 我安装并创建了RVM 1.8.7@rails2.3.8。我能够安装ruby和rails,以及 这里的一切都很好。我什至 为mysql和。设置全局gemset 乘客。

  • 我正在使用乘客代替 WEBrick(本教程使用)和 我甚至能够得到apache 加载模块,一切都是 我创建导轨时工作正常 应用程序。我可以去simple-cms.local和我 请参阅介绍页面。

所以这就是问题所在。在关注视频的同时,我到了script/generate controller say的位置,它创建了控制器,没有错误。然后我继续在控制器中定义一个动作“hello”,并在app / view / say文件夹中定义相应的视图“hello.rhtml”。

现在,当我尝试访问simple-cms.local时,它仍然有效,但是当我尝试访问simple-cms.local / say / hello.rhtml时,我收到错误!

  

Ruby on Rails应用程序不可能   开始

     

申请已退出   启动(即评估期间)   配置/ environment.rb中)。错误   消息可以在下面找到。要解决   这个问题,请关注任何   错误消息中的说明。

     

错误消息:缺少Rails 2.3.8   宝石。请gem install -v=2.3.8 rails,更新您的RAILS_GEM_VERSION   在config / environment.rb中设置   你有Rails版本   安装或注释掉   RAILS_GEM_VERSION使用最新版本   安装版本。

那我该怎么办?我的意思是安装了rails 2.3.8,为什么它会告诉我再次安装它?


更新

我在app目录中运行了gem environment并获得了此

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10.4.0]
  - INSTALLATION DIRECTORY: /Users/user/.rvm/gems/ruby-1.8.7-p302@rails2
  - RUBY EXECUTABLE: /Users/user/.rvm/rubies/ruby-1.8.7-p302/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/user/.rvm/gems/ruby-1.8.7-p302@rails2/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-darwin-10
  - GEM PATHS:
     - /Users/user/.rvm/gems/ruby-1.8.7-p302@rails2
     - /Users/user/.rvm/gems/ruby-1.8.7-p302@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

然后运行script/console,然后运行Gems.path,返回

["/Users/user/.rvm/gems/ruby-1.8.7-p302@rails2", "/Users/user/.rvm/gems/ruby-1.8.7-p302@global"] 

对我来说很好,你呢?


更新2:

好的,所以没有什么对我有用!我还没有尝试过Passenger Standalone,但是我需要使用apache,我读到它独立使用nginx。我到目前为止尝试的是从头开始,rvm implode然后再安装rvm,ruby 1.8.7,passenger,mysql,rails 2.3.8,就是这样。访问我的应用程序时,我仍然无法通过默认页面!然后我也尝试按照Chris Johnsen在评论中链接的指南无效。

欢迎所有想法......

2 个答案:

答案 0 :(得分:1)

问题是我正在将乘客安装到全球宝石集中,这应该不是问题,但确实如此。

我从全局gemset中卸载了乘客,并将其安装到我正在使用的项目gemset中。这解决了丢失的rails gem错误,现在我在尝试访问simple-cms.local / say / hello时遇到500错误。我将为此创建一个新问题,并将此标记解决!

答案 1 :(得分:0)

尝试Phusion Passenger Standalone。每个实例都将使用当前加载的RVM和gemset。