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 ?
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ł
Co do tematu, to rzeczywiście najlepszy imho setup, to:
Wspólny ruby dla wielu userów
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)