问题
I've worked through many issues deploying a simple rails app and thought all was good when i saw the rails welcome screen... then I saw lots of errors when I selected the "about your applications environment" link of the default rails page. The errors are below and also appear when I go to specific URLs.
I THINK the issue is that my ~/.bashrc file is explicitly calling for
export GEM_PATH=$GEM_HOME:/usr/lib64/ruby/gems/1.8
when the errors reference gems/1.9.3
I'm just not sure if this is the issue or how to change this stuff to make it all agree witch each other. replacing 1.8 with 1.9.3 didn't do the trick (although I couldn't figure out what bundle or update commands i may have to run to make that work).
I'd appreciate any direction or advice you can offer... I"m new with bluehost rails deployments and i'm sure i'm missing something here..
Thanks.
Error message: Could not find i18n-0.6.1 in any of the sources (Bundler::GemNotFound) Exception class: PhusionPassenger::UnknownError
followed by:
Backtrace:
# File Line Location
0 /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/spec_set.rb 88 in `block in materialize'
1 /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/spec_set.rb 82 in `map!'
2 /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/spec_set.rb 82 in `materialize'
3 /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/definition.rb 90 in `specs'
4 /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/definition.rb 135 in `specs_for'
5 /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/definition.rb 124 in `requested_specs'
6 /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/environment.rb 23 in `requested_specs'
7 /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler/runtime.rb 11 in `setup'
8 /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.0.21/lib/bundler.rb 110 in `setup'
9 /etc/httpd/modules/passenger/lib/phusion_passenger/utils.rb 326 in `prepare_app_process'
10 /etc/httpd/modules/passenger/lib/phusion_passenger/rack/application_spawner.rb 156 in `block in initialize_server'
11 /etc/httpd/modules/passenger/lib/phusion_passenger/utils.rb 572 in `report_app_init_status'
12 /etc/httpd/modules/passenger/lib/phusion_passenger/rack/application_spawner.rb 154 in `initialize_server'
13 /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb 204 in `start_synchronously'
14 /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb 180 in `start'
15 /etc/httpd/modules/passenger/lib/phusion_passenger/rack/application_spawner.rb 129 in `start'
16 /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb 253 in `block (2 levels) in spawn_rack_application'
17 /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server_collection.rb 132 in `lookup_or_add'
18 /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb 246 in `block in spawn_rack_application'
19 /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server_collection.rb 82 in `block in synchronize'
20 prelude> 10:in `synchronize'
21 /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server_collection.rb 79 in `synchronize'
22 /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb 244 in `spawn_rack_application'
23 /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb 137 in `spawn_application'
24 /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb 275 in `handle_spawn_application'
25 /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb 357 in `server_main_loop'
26 /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb 206 in `start_synchronously'
27 /etc/httpd/modules/passenger/helper-scripts/passenger-spawn-server 99 in `'
回答1:
See my answer here.
Note that when installing RVM, you'll see it automatically modify .bash_profile to use correct paths, which will be in /home/<user>/.rvm/...
, not in /user/lib64
.
EDIT: Nevermind my answer. Even though it might be possible to get Rails 3.x running with the currently installed Ruby 1.8 (see this Stackoverflow question), you won't be able to run Ruby 1.9.x using Bluehost Shared Hosting. Your only choice (for now) is VPS Hosting.
The reason is that Passenger Phusion is tied to the version of Ruby installed in /usr/lib, which you can't change without root access. Even though you can install any version of Ruby with RVM, you won't get Passenger to talk to it and therefore your rails project won't use its gems.
来源:https://stackoverflow.com/questions/12627313/rails-bluehost-error-ruby-rack-application-could-not-be-started