【问题标题】:Ruby deployment server problem: Missing the Rails 2.3.5 gemRuby 部署服务器问题:缺少 Rails 2.3.5 gem
【发布时间】:2011-04-21 05:14:02
【问题描述】:

我正在尝试为我的应用程序安装 Rails 服务器。我使用 ubuntu 10.04 TLS 和 apache2 作为 Web 服务器。我在谷歌上进行了一些搜索,但没有找到对我有帮助的东西。当我尝试连接我的应用程序时,出现以下错误:

应用程序在启动期间退出(即在评估 config/environment.rb 期间)。可以在下面找到错误消息。要解决此问题,请按照错误消息中的说明进行操作。

错误信息: 缺少 Rails 2.3.5 gem。请gem install -v=2.3.5 rails,为您已安装的 Rails 版本更新 config/environment.rb 中的 RAILS_GEM_VERSION 设置,或注释掉 RAILS_GEM_VERSION 以使用已安装的最新版本。

所以我不明白,因为安装了rails:

          desktop:/etc/apache2$ rails -v
          Rails 2.3.5

宝石清单:

      gem list

      *** LOCAL GEMS ***

      abstract (1.0.0)
      actionmailer (2.3.5)
      actionpack (2.3.5)
      activerecord (2.3.5)
      activeresource (2.3.5)
      activesupport (2.3.5)
      arel (1.0.1)
      builder (2.1.2)
      bundler (1.0.0)
      cgi_multipart_eof_fix (2.5.0)
      daemon_controller (0.2.5)
      daemons (1.1.0)
      erubis (2.6.6)
      fastthread (1.0.7)
      file-tail (1.0.5)
      gem_plugin (0.2.3)
      i18n (0.4.1)
      linecache (0.43)
      mail (2.2.5)
      mime-types (1.16)
      mongrel (1.1.5)
      needle (1.3.0)
      net-ssh (1.1.4)
      passenger (2.2.15)
      polyglot (0.3.1)
      rack (1.0.1)
      rack-mount (0.6.13)
      rack-test (0.5.4)
      rails (2.3.5)
      rake (0.8.7)
      ruby-debug-base (0.10.3)
      ruby-debug-ide (0.4.5)
      rubyzip (0.9.4)
      spruz (0.1.5)
      sqlite3-ruby (1.3.1)
       thor (0.14.0)
      treetop (1.4.8)
      tzinfo (0.3.23)

更多信息:我正在 Windows 上进行开发,而我的服务器是 Linux,也许问题就在那里。我不知道。无论如何,提前感谢您的帮助。

即使我是 root 用户,我也无法打开控制台:

   root@et1-desktop:/home/et1/wip3/sophia/script# ./console
   Loading development environment (Rails 2.3.5)
   sh: irb: not found


gem environment
RubyGems Environment:
 - RUBYGEMS VERSION: 1.3.7
 - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
 - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
 - RUBY EXECUTABLE: /usr/bin/ruby1.8
 - EXECUTABLE DIRECTORY: /usr/bin
 - RUBYGEMS PLATFORMS:
 - ruby
 - x86_64-linux
 - GEM PATHS:
    - /usr/lib/ruby/gems/1.8
    - /home/et1/.gem/ruby/1.8
  - GEM CONFIGURATION:
    - :update_sources => true
    - :verbose => true
    - :benchmark => false
    - :backtrace => false
    - :bulk_threshold => 1000
    - :sources => ["http://gems.rubyforge.org/", "http://gems.rubyforge.org"]
 - REMOTE SOURCES:
    - http://gems.rubyforge.org/
    - http://gems.rubyforge.org

【问题讨论】:

    标签: ruby-on-rails deployment apache2


    【解决方案1】:

    是在environment.rb中添加的以下行

    RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION
    

    并在终端中尝试此命令。看看有没有安装 rails gem

    gem list
    

    【讨论】:

    • yes : more config/environment.rb # 当你修改这个文件时一定要重启你的服务器 # 指定当 vendor/rails 不存在时要使用的 Rails 的 gem 版本 RAILS_GEM_VERSION = '2.3.5'除非定义? RAILS_GEM_VERSION
    • 奇怪...你检查过日志吗?里面有什么提示吗?
    • 我可以在 apache2 错误日志中看到相同的内容:缺少 Rails 2.3.5 gem。请gem install -v=2.3.5 rails,为您已安装的 Rails 版本更新 config/environment.rb 中的 RAILS_GEM_VERSION 设置,或注释掉 RAILS_GEM_VERSION 以使用已安装的最新版本。
    • 这很奇怪,因为我尝试运行控制台时出现同样的错误:./console Loading development environment (Rails 2.3.5) sh: irb: not found
    • 哎呀....我以前遇到过这个问题。我在 rails development.log 中得到了提示。我不记得它到底是什么,因为它是很久以前的事了。对不起,伙计,帮不上忙。
    【解决方案2】:

    当系统中有多个 ruby​​ 版本引用不同的 gem 存储库时,我也看到了这个问题。如果是这种情况,这些命令应该有助于调试:

    哪个红宝石 哪个宝石

    来自文档 ruby​​gem]1

    宝石环境

    【讨论】:

    • 我刚刚在第一个描述中添加了 gem env
    • 其中:ls -ls /usr/bin/ruby 0 lrwxrwxrwx 1 root root 7 2009-06-12 14:13 /usr/bin/ruby -> ruby​​1.8
    • 我尝试了几个tuto但没有成功安装它,我不明白为什么部署它似乎很容易...... :(
    • 所以,我不明白你现在有没有工作。如果您的 irb 有问题,请尝试相同的方法:which irb
    • 有人知道吗?我在另一个 ubuntu 上尝试过,我遇到了完全相同的问题。我真的需要一些帮助才能开始工作。我敢肯定,我离终点不远了……
    【解决方案3】:

    可能是您在命令提示符下登录的用户与您运行服务器的用户没有相同的 gem 列表。

    当您以命令行用户的身份安装 gems 而没有使用 sudo 时,通常会发生这种情况,这意味着它们将仅供该用户使用。

    值得检查您的 gem 的安装位置。如果它们位于用户主目录的 .gem 文件夹中,则表明它们仅为该用户安装。

    我会尝试以服务器运行的用户身份启动 shell,并确保 用户具有您需要的 gem 访问权限。

    【讨论】:

    • 我检查了我的用户主页 .gem,我只能看到一个 gem:needle-1.3.0,否则没有更多的 gem。我真的不知道如何检查用户是否可以访问所需的 gem,而且我真的不知道女巫用户正在尝试调用这个 gem。
    • 好的,所以我找到了用户 www-data。当我使用该用户登录时,我可以运行提供版本 2.3.5 的 rails -v。
    【解决方案4】:

    我想我发现了我的问题,首先我按照以下链接的说明进行操作:http://gembundler.com/rails23.html 接下来我运行命令 rake db:migrate RAILS_ENV=production

    之后服务器就可以正常工作了。

    感谢大家的帮助。

    【讨论】:

      【解决方案5】:

      我真的希望这对某人有所帮助:我遇到了同样的问题“缺少 Rails 2.3.5 gem”......我解决它的方法是将我的应用程序移动到 heroku 堆栈 bamboo-ree-1.8.7 heroku stack:migrate bamboo-ree-1.8.7 并在我的配置中/environment.rb 文件我添加了config.gem "rack", :version => '1.0.1'

      问题是 rack 1.1.0 不能与 rails 2.3.5 一起工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-12
        • 1970-01-01
        • 2013-03-09
        • 2012-05-23
        相关资源
        最近更新 更多