ruby-on-rails - 使用 Phusion Passenger 时出错 - 无法在任何来源中找到 sqlite3-ruby-1.2.5 (Bundler::GemNotFound)

标签 ruby-on-rails ruby rubygems passenger

我终于使用 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-enterprise-1.8.7 和 1.9.1)的 ruby​​ 运行时。确保在同一运行时安装 sqlite3-ruby gem(和 passenger)。

您已经在 1.9.1 ruby​​ 运行时中安装了 passenger 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

关于ruby-on-rails - 使用 Phusion Passenger 时出错 - 无法在任何来源中找到 sqlite3-ruby-1.2.5 (Bundler::GemNotFound),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5632815/

相关文章:

ruby-on-rails - rails - Elasticsearch 完成建议器和搜索 API

ruby-on-rails - 生成controller的时候Dashboard会变成Dashboards吗?

ruby-on-rails - ActionCable 无需升级到 Rails 5 beta

Ruby:如何在不创建新实例的情况下检查实例方法的参数?

ruby - 防止 gem 推送到 RubyGems

ruby-on-rails - 如何在 Rails 中 bundle 一个 gem?

ruby-on-rails - 为什么 ruby​​ 进程的 CPU 占用率为 100%

ruby-on-rails - 从 Rails 中的按钮调用 Controller 方法

Ruby 合并哈希键值

ruby - 在 Ruby 测试/单元拆卸方法中检查测试结果