I have a Rails 3 app ready for staging.
I haven't got a VPS host set up yet. As I was planning to have everything on shared host for the first few months.
Problem:
cd myapp bundle check result:
The Gemfile's dependencies are satisfied
Passenger error:
Error message:
no such file to load -- bundler
Exception class:
LoadError
Frustrating thing about shared hosts is that I have to add these lines on config.ru:
ENV['GEM_HOME'] = '/home/username/.gems'
ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8'
Still no luck. Same no such file to load bundler error appears.
Has anybody got this working? Rails 3, Debian, shared host (dreamhost)?
I could just go ahead and register on Slicehost/Fivebean but before I do, I'd like to know why that error is showing up.
Thanks.
The solution is here http://rvm.beginrescueend.com/integration/passenger/. You need to point your HTTP server to passenger_ruby wrapper instead of bin/ruby.
E.g. for RVM & Apache it should be something like that:
PassengerRuby /Users/username/.rvm/bin/passenger_ruby
Passenger doesn't read environment variables from config.ru until after it has loaded. Without your backtrace I can't be positive, but I suspect everything will work if you just run bundle lock
. If you're still having trouble after that, there's a list of troubleshooting information at the bottom of the bundler README that I need to know exactly what's going on.
Rails hosting on shared hosts is already a minefield, but throwing in Rails 3 in all its pre-release goodness including Bundler reinventing the rubygems workflow is a recipe for pulling your hair out.
I host a few Rails sites on Dreamhost, but only the versions they officially support, otherwise it's just not worth the time. You can get a VPS now for almost as cheap as Dreamhost, and you will save hours and hours of your own time.
If you're looking for an easy answer, I'd suggest voting up the following and crossing your fingers:
Rails 3 on dreamhost?
For me, this turned out to be an issue with the passenger_ruby directive that passenger-install-nginx-module spits out at the end of installation. It was missing the gemset name in the path to the ruby.
This works: (the fix)
passenger_ruby /Users/dzello/.rvm/wrappers/ruby-1.9.2-p0@rails3/ruby;
This did not: (what passenger-install-nginx-module spits out)
passenger_ruby /Users/dzello/.rvm/rubies/ruby-1.9.2-p0/bin/ruby
Note the passenger_ruby line does not include the proper gem path - the @rails3 (rails3 is the gemset name) portion is missing, even though it got it right for passenger root.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With