2 Stimmen

Rails/Passenger: Datei nicht gefunden - bundler

Ich habe eine Anwendung, die mit einer alten Version von Rails (2.2.2) und Passenger läuft und die ich mit Ruby Enterprise Edition 1.8.7 zum Laufen gebracht habe. Allerdings fand ich bald heraus, dass es einige Inkompatibilitäten zwischen älteren Versionen von Rails und Ruby 1.8.7 gibt, und beschloss, auf REE 1.8.6 umzusteigen. Jetzt startet die Anwendung jedoch nicht mehr und gibt einen LoadError aus:

no such file to load -- bundler

Ich gehe davon aus, dass irgendein Pfad nicht korrekt eingestellt ist, aber ich bin mir nicht sicher, wo ich suchen soll. Irgendwelche Vorschläge?

2voto

jrdioko Punkte 30234

Nachdem ich meinen Kopf gegen die Wand geschlagen hatte, wurde mir klar, dass es daran lag, dass die Dateien in /opt/ruby-enterprise-... nicht gruppenlesbar waren (also hatte der Benutzer, der Apache ausführte, keinen Zugriff, nehme ich an).

1voto

William Denniss Punkte 15469

Ich hatte den gleichen Fehler, aber eine andere Lösung.

In meiner deploy.rb Datei gibt es einen Block wie:

set :default_environment, {
  'PATH' => "/usr/local/rvm/gems/ruby-1.9.2-p0/bin:/usr/local/rvm/rubies/ruby-1.9.2-p0//bin:$PATH",
  'RUBY_VERSION' => 'ruby 1.9.2',
  'GEM_HOME'     => '/usr/local/rvm/gems/ruby-1.9.2-p0',
  'GEM_PATH'     => '/usr/local/rvm/gems/ruby-1.9.2-p0',
  'BUNDLE_PATH'  => '/usr/local/rvm/gems/ruby-1.9.2-p0'  # Wenn Sie bundler verwenden.
}

Ich habe diese Pfade auf die neue Installation von Ruby (auf dem Server) verwiesen, und es hat funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X