Hello,

I've experienced a bug while trying to setup Unicorn 0.96.0 with my Rails 2.3.5 
app. Some details on my system: I'm running Freebsd 8.0-p2 (amd64) with Ruby 
1.9.1 and Rubygems 1.3.5.

Pretty much, I tried running "unicorn_rails" in the root of my rails 
application, but it never loads. What happens is the master process load then 
it keeps trying to start the worker app but fails. I kept getting the message 
that I need to install Rails 2.3.5. At fist I thought I had configured 
something incorrectly and there was a bad reference to my gems, but no. The 
error message came from my Rails config/boot.rb file which is called after the 
gem list has been refreshed (via app.call in Unicorn). I traced through unicorn 
until I found that in the load_rails_gem method of the GemBoot class was 
raising the load error. When checking the exception message variable it told 
me: 

$ unicorn_rails                     
I, [2010-01-11T16:20:11.330566 #23391]  INFO -- : listening on 
addr=0.0.0.0:8080 fd=3
I, [2010-01-11T16:20:11.337793 #23391]  INFO -- : worker=0 spawning...
I, [2010-01-11T16:20:11.339090 #23391]  INFO -- : master process ready
I, [2010-01-11T16:20:11.339225 #23393]  INFO -- : worker=0 spawned pid=23393
I, [2010-01-11T16:20:11.379570 #23393]  INFO -- : Refreshing Gem list
Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`, update your 
RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do 
have installed, or comment out RAILS_GEM_VERSION to use the latest version 
installed.
I, [2010-01-11T16:20:11.446208 #23391]  INFO -- : reaped #<Process::Status: pid 
23393 exit 1> worker=0
I, [2010-01-11T16:20:11.446461 #23391]  INFO -- : worker=0 spawning...
I, [2010-01-11T16:20:11.447539 #23394]  INFO -- : worker=0 spawned pid=23394
I, [2010-01-11T16:20:11.488722 #23394]  INFO -- : Refreshing Gem list
Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`, update your 
RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do 
have installed, or comment out RAILS_GEM_VERSION to use the latest version 
installed.
... etc. ... keeps going on and on and on.

The exception message in GemBoot tells me:
can't activate rack (~> 1.0.0, runtime) for ["actionpack-2.3.5", 
"rails-2.3.5"], already activated rack-1.1.0 for ["unicorn-0.96.0"]

So, I uninstalled rack 1.1.0, leaving behind just rack 1.0.1. Started up the 
unicorn_rails again and voila. The issue seemed to be a conflict with the rack 
1.1 already being loaded by Unicorn, and when Rails begins to load and checks 
its dependencies, the rack version is too new for 2.3.5.

I'm not sure what the fix is here, but uninstalling rack 1.1 probably is not 
the answer.

Cheers,

Peter
_______________________________________________
Unicorn mailing list - mongrel-unicorn@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying

Reply via email to