Domanda

Stiamo distribuzione con la protezione e utilizzando uno script che invia USR2 al processo unicorno per ricaricare e di solito funziona, ma ogni tanto un po 'fallirà. Quando ciò accade guardando nel registro unicorno rivela che è alla ricerca di un Gemfile in una directory di rilascio vecchio che non esiste più.

Eccezione:

/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)

Per chiarire che non è la versione corrente, ma una più antica che è da allora sono stati rimossi.

Quando funziona lo fa sembra funzionare correttamente - vale a dire che non pick-up il nuovo codice -. Quindi non credo che sia in qualche modo bloccato riferimento alla vecchia versione

Tutte le idee?

È stato utile?

Soluzione

È necessario impostare la variabile d'ambiente BUNDLE_GEMFILE prima di avviare il server, puntarlo verso current/Gemfile.

Altri suggerimenti

Nel vostro unicorn.rb aggiungere il blocco before_exec

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

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

Per saperne di più su di esso qui http://blog.willj.net/2011/08/02/fixing-the-gemfile-not-found-bundlergemfilenotfound-error/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top