【问题标题】:Missing Rails gem error, but its installed!缺少 Rails gem 错误,但已安装!
【发布时间】:2010-11-09 18:00:18
【问题描述】:

所以我是 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 应用程序无法 开始

应用程序已在期间退出 启动(即在评估期间 配置/环境.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,并且我读到standalone 使用nginx。到目前为止我尝试的是从头开始,rvm implode 然后再次安装 rvm,ruby 1.8.7,passenger,mysql,rails 2.3.8,就是这样。访问我的应用程序时,我仍然无法通过默认页面!然后,我还尝试按照 Chris Johnsen 在 cmets 中链接的指南进行操作,但无济于事。

欢迎所有想法...

【问题讨论】:

标签: ruby-on-rails passenger rvm


【解决方案1】:

问题是我正在将乘客安装到全局 gemset 中,这应该不是问题,但确实是。

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

【讨论】:

  • 如果有人感兴趣,我会收到 500 错误,因为没有安装 sqlite3-ruby。 “gem install sqlite3-ruby”...现在已修复,一切正常 :-),我终于可以开始使用 ruby​​ 了!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2011-03-04
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 2010-11-29
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    相关资源
    最近更新 更多