Frage

Wir stellen mit CAP ein und verwenden ein Skript, das UR2 an den Unicorn -Prozess zum Nachladen sendet, und es funktioniert normalerweise, aber ab und zu wird es fehlschlagen. Wenn dies geschieht, zeigt es im Einhorn -Protokoll, dass es in einem alten Release -Verzeichnis, das nicht mehr existiert, nach einer GemFile sucht.

Ausnahme :

/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/definition.rb:14:in `build': /var/www/railsapps/inventory/releases/20111128233407/Gemfile not found (Bundler::GemfileNotFound)

Um dies zu verdeutlichen, ist dies nicht die aktuelle Veröffentlichung, sondern eine ältere, die seitdem entfernt wurde.

Wenn es funktioniert, scheint es richtig zu funktionieren - dh es erledigt den neuen Code -, also glaube ich nicht, dass er sich irgendwie auf die alte Veröffentlichung bezieht.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Sie sollten die festlegen BUNDLE_GEMFILE Umgebungsvariable Bevor Sie den Server starten, zeigen Sie auf ihn auf current/Gemfile.

Andere Tipps

In Ihrem Unicorn.rb den Block vorab_exec hinzufügen

current_path = "/var/www/html/my project/current"

before_exec do |server|
  ENV['BUNDLE_GEMFILE'] = "#{current_path}/Gemfile"
end

Lesen Sie hier mehr darüber http://blog.willj.net/2011/08/02/fixing-the--gefile-not--Bound-bundlergeMFilenotfound-error/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top