Passenger i dwie aplikacje

Mam taki problem posiadam na serwerze aplikację w środowisku produkcyjnym powiedzmy app1 używam RVM w wersji single-user + apache + passenger
kiedy robię deploy drugiej aplikacji np. app2 mam taki błąd.

[code]Error message:
Could not find builder-3.0.4 in any of the sources (Bundler::GemNotFound)
Exception class:
PhusionPassenger::UnknownError
Application root:
/home/app2/public_html/test_app/current
Backtrace:

File Line Location

0 /home/app1/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/spec_set.rb 90 in block in materialize' 1 /home/app1/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.2.1/lib/bundler/spec_set.rb 83 inmap!’
…[/code]
Widzę że passenger bierze środowisko dla app2 z app1 jakieś pomysły jak to rozwiązać po za tym żeby przerobić RVM na multi-user ?

Aplikacje znajdują się na różnych kontach userów

Zrób to porządnie i dla każdego usera zainstaluje rubiego z osobna (tylko pamiętaj, żeby to było na prawach usera a nie roota)

Mógłbyś wyjaśnić co to da w przypadku passengera? I dlaczego ruby dla każdego usera osobno to jest porządnie, a wspólny już nie?

hmm gdybyś przeczytał dokładnie mój problem to byś wiedział że ruby + rails są instalowane z rvm w wersji single user które jest jedynie “recommended” co nie znaczy że Multi-User jest złe. Żeby było śmieszniej myślę że wersja Mulit-User rozwiązała by mój problem jednak wolał bym (chociaż by w celach dydaktycznych) uruchomić to na osobnych kontach.

Mea culpa. Coś mi się pomieszało i jak czytałem “Multi user” to myślałem o instalacji oddzielnych wersji rubiego dla każdego użytkownika, stąd na opak zrozumiałem wypowiedź @wafcio. No i moja odpowiedź to w rezultacie to samo co on napisał :wink:

Co do tematu, to rzeczywiście najlepszy imho setup, to:

  1. Wspólny ruby dla wielu userów
  2. Gemy instalowane bundlerem z --path i --binstubs (izolacja)

W passengerze 4 jest chyba możliwość uruchamiania kilku różnych wersji rubiego, ale tego nie testowałem.

Oki mam zainstalowane RVM multi user dodany moduł passenger do apache i teraz jedna jak i druga aplikacja mają błąd “500” wydaje mi się że coś teraz jest źle z gemami
po zmianie RVM zrobiłem bundle install --path .vendor/bundle zainstalowały się wszysykie gemy na nowo. Błąd w logu apacha wygląda tak

/usr/local/rvm/rubies/ruby-1.9.3-p286/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- auto_gem (LoadError) from /usr/local/rvm/rubies/ruby-1.9.3-p286/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' [ pid=28619 thr=140245669500736 file=ext/apache2/Hooks.cpp:884 time=2012-11-05 22:42:25.279 ]: Unexpected error in mod_passenger: Cannot spawn application '/home/showlux/public_html/current': Could not read from the spawn server: Connection reset by peer (104) Backtrace: in 'virtual Passenger::SessionPtr Passenger::ApplicationPool::Client::get(const Passenger::PoolOptions&)' (Client.h:742) in 'Passenger::SessionPtr Hooks::getSession(const Passenger::PoolOptions&)' (Hooks.cpp:312) in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:585)