2014-09-29 2 views
5

Es ist nur eine Version von Ruby installiert, und ich habe gem install bundler && bundle install ausgeführt.Passagier mit Nginx: kann solche Datei nicht laden - 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>' 

Antwort

0

Sie müssen Ihren passenger_root Wert ändern. Wie here in doc

Zum Beispiel meiner nginx config:

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

'Passagier-config --root' mir als' passenger_root' Wert gleiche Sache gab –

10

Ich habe ähnliches Problem wurde gelöst werden.

Mein Problem war in der Konfiguration von passenger_ruby /usr/bin/ruby;, was auf die falsche Version zeigt. Meine Lösung war, den Pfad zur Ausgabe des Befehls which ruby

zu setzen Auf dem Server verwende ich rvm. Aber es gibt auch andere Installationen von Rubin.

Zuerst versuchen, die Umgebung zu testen. Wechseln Sie zum Anwendungsverzeichnis und führen Sie passenger start aus. Dies zeigt Ihnen, ob der Server bereit ist, die App zu starten. Beheben Sie die Fehler ...

Wenn die Nachricht immer noch sagt, dass

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

Lauf gem install bundler und Wiederprüfung.

Dann richten Sie den Pfad in NGINX zu Pfad von which ruby Befehl und starten Sie die Anwendung neu.

+0

Vielen Dank ... dass mein Problem :) –

+0

wie ein Charme gelöst! –

Verwandte Themen