documentcloud / jammit

Industrial Strength Asset Packaging for Rails
http://documentcloud.github.com/jammit/
MIT License
1.16k stars 197 forks source link

Mac OSX w/Passenger: uninitialized constant Jammit #88

Closed scasey99 closed 13 years ago

scasey99 commented 13 years ago

Hi all,

I've run into a problem with Jammit 0.5.3 that I can't get around.

Platform: Mac OS X 10.6.4 Passenger 2.2.15 Nginx 0.7.67

When I attempt to start my Rails app, I receive the following error message from Passenger:

Error message: uninitialized constant Jammit

Exception class: NameError

The only other reference I could find for this problem was for a Windows-specific issue: http://brianwhitmer.blogspot.com/2010/08/uninitialized-constant-jammitroutes.html

Full log below. Any ideas what could be causing this?

Thanks in advance!

Routes.rb:

    ActionController::Routing::Routes.draw do |map|  

    # Only necessary for Rails 2 (Rails 3 does this automatically)
    Jammit::Routes.draw(map)

Passenger log:

*** Exception NameError in PhusionPassenger::Railz::FrameworkSpawner (uninitialized constant Jammit) (process 10281):
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in `load_missing_constant'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:80:in `const_missing'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:92:in `const_missing'
from /rubyproject/config/routes.rb:4
from /Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:226:in `draw'
from /rubyproject/config/routes.rb:1
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:145:in `load_without_new_constant_marking'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:145:in `load'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:145:in `load'
from /Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:286:in `load_routes!'
from /Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:286:in `each'
from /Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:286:in `load_routes!'
from /Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:266:in `reload!'
from /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/initializer.rb:537:in `initialize_routing'
from /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/initializer.rb:188:in `process'
from /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'
from /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
from /Users/rubyproject/config/environment.rb:14
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb:318:in `preload_application'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb:267:in `initialize_server'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/utils.rb:323:in `report_app_init_status'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb:246:in `initialize_server'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:194:in `start_synchronously'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:163:in `start'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb:222:in `start'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/framework_spawner.rb:291:in `handle_spawn_application'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/framework_spawner.rb:286:in `handle_spawn_application'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/framework_spawner.rb:284:in `handle_spawn_application'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:163:in `start'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/framework_spawner.rb:101:in `start'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:253:in `spawn_rails_application'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:247:in `spawn_rails_application'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:246:in `spawn_rails_application'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:145:in `spawn_application'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:278:in `handle_spawn_application'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
from /Library/Ruby/Gems/1.8/gems/passenger-2.2.15/bin/passenger-spawn-server:61
agibralter commented 13 years ago

Are you using Bundler for your gems? What does your environment.rb look like?

agibralter commented 13 years ago

And the Gemfile? What version of bundler are you using?

agibralter commented 13 years ago

Have you tried passenger 3.0.0?

scasey99 commented 13 years ago

Yeah, discovered that it works on Passenger 3 today... any ideas why it didn't work on 2.2?

agibralter commented 13 years ago

Hmm 2.2.15 required funky hacks to boot.rb... did you use those?

scasey99 commented 13 years ago

Nah, no hacks needed in boot.rb. Passenger was one of the few gems that just worked for us.

agibralter commented 13 years ago

No, I mean that I got Bundler to work with Passenger 2.2.15 with a hack to boot.rb. I had no trouble with any of my gems (e.g. Jammit) with that hack.

scasey99 commented 13 years ago

Ah, gotcha. What were the hacks that you used? Any idea of this was specific to OS X? (Everything seems to be working on Ubuntu w/Bundler & Passenger 2.2.15)

agibralter commented 13 years ago

Hmm this is my boot.rb... https://gist.github.com/671944

scasey99 commented 13 years ago

Weird, my boot.rb is almost identical (had the same setup at the end for Bundler).

If there's no other ideas, I'm going to mark this issue as closed with the solution being "Upgrade to Passenger 3" ;-)

agibralter commented 13 years ago

Yeah, strange.