【问题标题】:Database problems when setting up Phusion Passenger for the first time首次设置 Phusion Passenger 时的数据库问题
【发布时间】:2010-05-10 14:17:08
【问题描述】:

我是一个新的 ruby​​/rails 用户,第一次尝试使用现有的 rails 项目设置我的 mac。该应用在使用 mongrel 时运行良好,但在使用 Phusion Passenger 时无法正常启动。

问题似乎出在加载项目的第一个模型时。我推测访问我的数据库时出现问题,但我不知道为什么。

我的杂种配置和乘客配置之间有些不同。可能 rvm 指向错误的东西?也许我的宝石有所不同?也许我的 mysql gem 没有正确安装?或者也许我的 railsenv 不知何故错了?我真的不知道,有什么想法吗?

您会在下面找到错误以及我的各种配置文件。

Expected /Users/mike/Projects/XXX/XXX/app/models/user/identity.rb to define User::Identity
0   /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  426 in `load_missing_constant'
1   /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  96  in `const_missing'
2   /Users/mike/Projects/XXX/XXX/app/models/user.rb 22  
3   /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  380 in `load_without_new_constant_marking'
4   /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  380 in `load_file'
5   /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  521 in `new_constants_in'
6   /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  379 in `load_file'
7   /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  259 in `require_or_load'
8   /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  425 in `load_missing_constant'
9   /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  80  in `rake_original_const_missing'
10  /Users/mike/Projects/XXX/XXX/vendor/gems/rake-0.8.7/lib/rake.rb 2503    in `const_missing'
11  /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  92  in `const_missing'
12  /Users/mike/Projects/XXX/XXX/spec/factories/point_allocation_factory.rb 1   
13  /Users/mike/.rvm/rubies/ree-1.8.7-2010.01/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb 31  in `gem_original_require'
14  /Users/mike/.rvm/rubies/ree-1.8.7-2010.01/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb 31  in `require'
15  /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  156 in `require'
16  /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  521 in `new_constants_in'
17  /Users/mike/Projects/XXX/XXX/vendor/rails/activesupport/lib/active_support/dependencies.rb  156 in `require'
18  /Users/mike/Projects/XXX/XXX/vendor/gems/factory_girl-1.2.3/lib/factory_girl/factory.rb 300 in `find_definitions'
19  /Users/mike/Projects/XXX/XXX/vendor/gems/factory_girl-1.2.3/lib/factory_girl/factory.rb 299 in `each'
20  /Users/mike/Projects/XXX/XXX/vendor/gems/factory_girl-1.2.3/lib/factory_girl/factory.rb 299 in `find_definitions'
21  /Users/mike/Projects/XXX/XXX/vendor/gems/factory_girl-1.2.3/lib/factory_girl/factory.rb 295 in `each'
22  /Users/mike/Projects/XXX/XXX/vendor/gems/factory_girl-1.2.3/lib/factory_girl/factory.rb 295 in `find_definitions'
23  /Users/mike/Projects/XXX/XXX/config/environments/development.rb 26  
24  /Users/mike/Projects/XXX/XXX/vendor/rails/railties/lib/initializer.rb   592 in `call'
25  /Users/mike/Projects/XXX/XXX/vendor/rails/railties/lib/initializer.rb   592 in `after_initialize'
26  /Users/mike/Projects/XXX/XXX/vendor/rails/railties/lib/initializer.rb   591 in `each'
27  /Users/mike/Projects/XXX/XXX/vendor/rails/railties/lib/initializer.rb   591 in `after_initialize'
28  /Users/mike/Projects/XXX/XXX/vendor/rails/railties/lib/initializer.rb   177 in `process'
29  /Users/mike/Projects/XXX/XXX/vendor/rails/railties/lib/initializer.rb   113 in `send'
30  /Users/mike/Projects/XXX/XXX/vendor/rails/railties/lib/initializer.rb   113 in `run'
31  /Users/mike/Projects/XXX/XXX/config/environment.rb  12  
32  /Users/mike/.rvm/rubies/ree-1.8.7-2010.01/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb 31  in `gem_original_require'
33  /Users/mike/.rvm/rubies/ree-1.8.7-2010.01/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb 31  in `require'
34  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/railz/application_spawner.rb    303 in `preload_application'
35  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/railz/application_spawner.rb    252 in `initialize_server'
36  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/utils.rb    255 in `report_app_init_status'
37  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/railz/application_spawner.rb    237 in `initialize_server'
38  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/abstract_server.rb  194 in `start_synchronously'
39  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/abstract_server.rb  163 in `start'
40  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/railz/application_spawner.rb    213 in `start'
41  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/spawn_manager.rb    262 in `spawn_rails_application'
42  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/abstract_server_collection.rb   126 in `lookup_or_add'
43  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/spawn_manager.rb    256 in `spawn_rails_application'
44  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/abstract_server_collection.rb   80  in `synchronize'
45  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/abstract_server_collection.rb   79  in `synchronize'
46  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/spawn_manager.rb    255 in `spawn_rails_application'
47  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/spawn_manager.rb    154 in `spawn_application'
48  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/spawn_manager.rb    287 in `handle_spawn_application'
49  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/abstract_server.rb  352 in `__send__'
50  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/abstract_server.rb  352 in `main_loop'
51  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/lib/phusion_passenger/abstract_server.rb  196 in `start_synchronously'
52  /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/bin/passenger-spawn-server    61  

.profile

if [[ -s /Users/mike/.rvm/scripts/rvm ]] ; then source /Users/mike/.rvm/scripts/rvm ; fi

httpd.conf

LoadModule passenger_module /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
PassengerRoot /Users/mike/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11
#PassengerRuby /Users/mike/.rvm/rubies/ree-1.8.7-2010.01/bin/ruby
PassengerRuby /Users/mike/.rvm/bin/passenger_ruby
RailsEnv development

httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot /Library/WebServer/Documents
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
   ServerName XXX.local
   DocumentRoot /Users/mike/Projects/XXX/XXX/public/
      <Directory  /Users/mike/Projects/XXX/XXX/public/>
         AllowOverride all
         Options -MultiViews
         Allow from all
      </Directory>
</VirtualHost>

/etc/hosts

127.0.0.1       XXX.local

框架

  • 默认mac apache安装
  • Passenger(安装方式如下:http://www.modrails.com/install.html
  • rvm (rvm --default ree; rvm gemset create XXX; echo "rvm ree@XXX;" > /Users/mike/Projects/XXX/XXX/.rvmrc)
  • ree (rvm install ree)
  • mysql 5.1.46 64 来自 dmg (gem install mysql -- --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include)

【问题讨论】:

    标签: ruby-on-rails osx-snow-leopard passenger


    【解决方案1】:

    问题出在我的 ~/.rvm/bin/passenger_ruby 文件中。由于某种原因,GEM_PATH 和 PATH 包括 ree-1.8.7-2010.01 和 ree-1.8.7-2010.01@global,但不包括 ree-1.8.7-2010.01@XXX,这是我安装所有 gem 的地方。

    将 ree-1.8.7-2010.01@XXX 添加到 GEM_PATH 和 PATH 解决了这个问题。不知道有没有更好的办法。

    【讨论】:

    • 如果您回答了自己的问题,建议您将其标记为正确,以便其他人一眼就知道。干杯,很高兴你明白了。 :)
    猜你喜欢
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 2017-07-24
    • 2019-02-22
    • 1970-01-01
    相关资源
    最近更新 更多