Phusion Passenger Error: You have activated rack 1.2.1, but your Gemfile requires rack 1.2.2
try to restart your server after edit in your Gemfile and put this: gem 'rack', '1.2.1'
This works in Rails 3.0.x & Passenger 3.0.15
create a file:
config/setup_load_paths.rb
with content:
require 'rubygems'require 'bundler/setup'
Passenger will then load the rack gem specified in your Gemfile.lock
After long periods of inactivity, I've been receiving a similar error for a couple of Sinatra applications on a DreamHost VPS:
Phusion Passenger Error: You have activated rack 1.2.1, but your Gemfile requires rack 1.3.0.
Like how @aren55555 described, if you simply refresh the page, the error goes away. Here is something that I discovered about the server configuration:
[psXXXXX]$ gem envRubyGems Environment: - RUBYGEMS VERSION: 1.3.6 - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux] - INSTALLATION DIRECTORY: /home/XXXXXXXXX/.gems/ - RUBY EXECUTABLE: /usr/bin/ruby1.8 - EXECUTABLE DIRECTORY: /home/XXXXXXXXX/.gems/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /home/XXXXXXXXX/.gems/ <-- Rack 1.3.0 Gem was installed here - /usr/lib/ruby/gems/1.8 <-- Rack 1.2.1 Gem was installed here - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/
My guess as to what was happening is, after Passenger "wakes up", for some reason it's looking first (or perhaps only) to the Gems at the system-level, selecting Rack 1.2.1 as the latest version. My short-term hacky solution was simply to install Rack 1.3.0 there:
gem install rack -v 1.3.0 --install-dir /usr/lib/ruby/gems/1.8
It seems to have worked. Hope this is helpful to anyone else tearing their hair out there.