2014-09-29 12 views
5

Jest tylko jedna wersja Ruby zainstalowana, a ja uruchomiłem gem install bundler && bundle install.Pasażer z nginx: nie można załadować takiego pliku - bundler/setup (LoadError)

nginx conf

passenger_root /root/.gem/ruby/2.1.0/gems/passenger-4.0.52; 
passenger_ruby /usr/bin/ruby; 
server { 
    listen 80; 
    server_name example.com; 
    root /srv/http/myrailsapp/public; 
    passenger_enabled on; 
    rails_env development; 
} 

Error Log

cannot load such file -- bundler/setup (LoadError) 
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/lib/phusion_passenger/loader_shared_helpers.rb:263:in `block in run_load_path_setup_code' 
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/lib/phusion_passenger/loader_shared_helpers.rb:366:in `running_bundler' 
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/lib/phusion_passenger/loader_shared_helpers.rb:261:in `run_load_path_setup_code' 
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:100:in `preload_app' 
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:158:in `<module:App>' 
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>' 
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:28:in `<main>' 

Odpowiedz

0

Musisz zmienić swoją wartość passenger_root. Jak here in doc

na przykład mojego nginx config:

... 
    passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini; 
    passenger_ruby /usr/bin/ruby; 
... 
+1

'passenger-config --root' dał mi to samo co' passenger_root' value –

10

I zostały rozwiązania podobnego problemu.

Mój problem był w konfiguracji passenger_ruby /usr/bin/ruby; Które wskazuje na nieprawidłową wersję. Moim rozwiązaniem było ustawienie ścieżki do wyjścia polecenia which ruby

Na serwerze używam rvm. Ale są też inne instalacje rubinu.

Najpierw spróbuj przetestować środowisko. Przejdź do katalogu aplikacji i uruchom passenger start. To pokaże Ci, czy serwer jest gotowy do uruchomienia aplikacji. Naprawić błędy ...

Jeśli komunikat nadal mówi, że

cannot load such file -- bundler/setup (LoadError) 

run gem install bundler i ponownie sprawdzić.

Następnie ustaw ścieżkę w NGINX na ścieżkę z polecenia which ruby i zrestartuj aplikację.

+0

Wielkie dzięki ... to rozwiązało mój problem :) –

+0

Pracowałem jak czar! –

Powiązane problemy