【问题标题】:Error Using Phusion Passenger - Could not find sqlite3-ruby-1.2.5 in any of the sources (Bundler::GemNotFound)使用 Phusion 乘客时出错 - 在任何源中都找不到 sqlite3-ruby-1.2.5 (Bundler::GemNotFound)
【发布时间】:2011-04-12 09:08:08
【问题描述】:

我终于使用 Phusion Passenger 在我的服务器上设置了 RoR,并显示了默认的 RoR 应用程序页面,但是当我单击“关于您的应用程序的环境”时,我收到一条错误消息,提示“无法启动 Ruby (Rack) 应用程序”并在错误消息位“在任何源中找不到 sqlite3-ruby-1.2.5 (Bundler::GemNotFound)”下。

如果我在命令行执行“捆绑安装”,我会得到一个“使用 x (y)”样式消息列表,其中包括:

使用 sqlite3-ruby (1.2.5)

(由于最新版本的问题,我不得不降级到 1.2.5)

我真的不明白为什么我会收到上面的错误,因为 sqlite3-ruby 显然存在。

错误页面上的堆栈跟踪:

0   /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/spec_set.rb    87  in `materialize'
1   /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/spec_set.rb    81  in `map!'
2   /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/spec_set.rb    81  in `materialize'
3   /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/definition.rb  90  in `specs'
4   /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/definition.rb  135     in `specs_for'
5   /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/definition.rb  124     in `requested_specs'
6   /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/environment.rb     23  in `requested_specs'
7   /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb     11  in `setup'
8   /opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler.rb     107     in `setup'
9   /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/utils.rb  326     in `prepare_app_process'
10  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/rack/application_spawner.rb   155     in `initialize_server'
11  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/utils.rb  572     in `report_app_init_status'
12  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/rack/application_spawner.rb   153     in `initialize_server'
13  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/abstract_server.rb    204     in `start_synchronously'
14  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/abstract_server.rb    180     in `start'
15  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/rack/application_spawner.rb   128     in `start'
16  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/spawn_manager.rb  253     in `spawn_rack_application'
17  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/abstract_server_collection.rb     132     in `lookup_or_add'
18  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/spawn_manager.rb  246     in `spawn_rack_application'
19  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/abstract_server_collection.rb     82  in `synchronize'
20  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/abstract_server_collection.rb     79  in `synchronize'
21  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/spawn_manager.rb  244     in `spawn_rack_application'
22  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/spawn_manager.rb  137     in `spawn_application'
23  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/spawn_manager.rb  275     in `handle_spawn_application'
24  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/abstract_server.rb    357     in `__send__'
25  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/abstract_server.rb    357     in `server_main_loop'
26  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/lib/phusion_passenger/abstract_server.rb    206     in `start_synchronously'
27  /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/helper-scripts/passenger-spawn-server   99 

编辑:

这是我的passenger.conf 文件。

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.6
PassengerRuby /opt/ruby-enterprise-1.8.7-2011.03/bin/ruby
PassengerMaxPoolSize 2

【问题讨论】:

    标签: ruby-on-rails ruby rubygems passenger


    【解决方案1】:

    您似乎安装了 ruby​​ 运行时的两个版本(ruby-enterprise-1.8.7 和 1.9.1)。确保在同一运行时安装 sqlite3-ruby gem(和乘客)。

    您已在 1.9.1 ruby​​ 运行时中安装了乘客 gem,但是您将 PassengerRuby 设置为 1.8。我认为你不应该那样做。将其设置为 1.9.1。并确保您使用 ruby​​ 1.9.1 运行 bundle install(在您的 rails 项目文件夹中),以便将所有需要的 gem 安装到 1.9.1 运行时。

    PassengerRuby /path/to/1.9.1/here/bin/ruby
    

    如果您想轻松管理不同版本的 ruby​​ 运行时,我建议查看 RVM

    【讨论】:

    • 我假设它不应该同时使用两者。如何确保它只使用企业版?
    • 再想一想 - 它实际上是使用两个版本还是只是访问乘客文件?
    • 我刚刚编辑了我的问题。希望这能回答您的问题。
    • 这意味着Passenger不会使用企业运行?这是我想一起运行的。
    • 如果您想使用 ree 运行时,请将乘客 gem 安装到 1.8.7 运行时(因此,PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0. 6 看起来像PassengerRoot /usr/local/lib/ruby/gems/1.8.7/gems/passenger-3.0.6) 重要的是为乘客和您的rails应用程序使用一个运行时。
    【解决方案2】:

    您的Passenger 配置似乎错误。您在1.9.1 Universe 中提供了Passenger Gem 的PassengerRoot,但在1.8.7 Universe 中指向PassengerRuby。

    我建议使用passenger-install-apache2-module 从Ruby 1.9 重新编译passenger apache 模块,并根据安装程序给出的说明更改您的配置。

    另外,如果您使用的是 Rails,我建议您升级到 1.9.2 或坚持使用 1.8.7。 Rails 无法与 Ruby 1.9.1 搭配使用。

    【讨论】:

      猜你喜欢
      • 2014-06-05
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 2016-07-13
      • 2014-06-18
      • 2018-04-08
      • 2012-04-19
      • 2015-03-04
      相关资源
      最近更新 更多