I've looked all over the web for about a week now and not found a solution to my problem. I have a Ruby on Rails application I'm trying to deploy to a production Ubuntu 10.04 server edition box. I've got Apache2.2 and Passenger3.0.0 installed with Ruby 1.8.7, Rails 2.3.5 and RubyGems 1.3.7. My rails application is in /var/rails_app_name/
and rubygems/ruby is installed at /var/lib/gems/1.8
I have a test server with ubuntu 10.04 (gui edition) running the same setup and configuration which works like a charm. The only difference is my rails application root is in the user local folder e.g. /home/username/rails_app_name/
My problem is that on the production server, Passenger is giving me an error: "Missing the Rails 2.3.5 gem. Please 'gem install -v=2.3.5 rails'. update your RAILS_GEM_VERSION...."
I installed the rails gem in both gem directories listed by running a gem environment. Here are some config results:
%> gem environment
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]
- INSTALLATION DIRECTORY: /var/lib/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /var/lib/gems/1.8/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /var/lib/gems/1.8
- /home/sross/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
REMOTE SOURCES:
%> gem list
actionmailer (2.3.5) actionpack (2.3.5) activemodel (3.0.3) activerecord (2.3.5) activeresource (2.3.5) activesupport (3.0.3, 2.3.5) acts_as_audited (1.1.1) arel (2.0.4) authlogic (2.1.6) builder (2.1.2) cancan (1.4.1) daemon_controller (0.2.5) fastthread (1.0.7) file-tail (1.0.5) i18n (0.4.2) passenger (3.0.0) rack (1.0.1) rails (2.3.5) rake (0.8.7) spruz (0.2.2) tzinfo (0.3.23)
%> which gem
/usr/bin/gem
%> which ruby
/usr/bin/ruby
** /etc/apache2/mods-enabled/passenger.conf **
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.0 PassengerRuby /usr/bin/ruby
** /etc/apache2/mods-enabled/passenger.load **
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.0/ext/apache2/mod_passenger.so
Let me know if you want to see anything else. I installed everything with sudo, all my rubygems directories, ruby directories, application directories are chmod 755 so www-data should have access correct? I've tried setting GEM_HOME to both rubygems paths and making sure the rails gem is in there too.
Help this is killing me!
Update:
gem list for test server (which works fine)
abstract (1.0.0)
actionmailer (3.0.0, 2.3.8, 2.3.5)
actionpack (3.0.0, 2.3.8, 2.3.5)
activemodel (3.0.0)
activerecord (3.0.0, 2.3.8, 2.3.5)
activeresource (3.0.0, 2.3.8, 2.3.5)
activesupport (3.0.0, 2.3.8, 2.3.5)
acts_as_audited (1.1.1)
arel (1.0.1)
authlogic (2.1.6)
builder (2.1.2)
bundler (1.0.0)
cancan (1.3.4)
cgi_multipart_eof_fix (2.5.0)
daemon_controller (0.2.5)
daemons (1.1.0)
dbi (0.4.5)
deprecated (2.0.1)
erubis (2.6.6)
fastthread (1.0.7)
file-tail (1.0.5)
gem_plugin (0.2.3)
mail (2.2.5)
mime-types (1.16)
mongrel (1.1.5)
mongrel_cluster (1.0.5)
mysql (2.8.1)
passenger (3.0.0)
polyglot (0.3.1)
rack (1.2.1, 1.1.0, 1.0.1)
rack-mount (0.6.13)
rack-test (0.5.4)
rails (2.3.5)
railties (3.0.0)
rake (0.8.7)
spruz (0.2.2)
thor (0.14.0)
treetop (1.4.8)
tzinfo (0.3.23)
validates_date_time (1.0.0)