Question

Nous déployons avec capuchon et à l'aide d'un script qui envoient USR2 au processus de licorne pour reload et il fonctionne habituellement, mais chaque fois dans un certain temps, il échouera. Lorsque cela se produit à la recherche dans le journal licorne révèle qu'il cherche un Gemfile dans un ancien répertoire de libération qui n'existe plus.

Exception:

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

Pour clarifier ce ne est pas la version actuelle, mais une version plus ancienne qui est depuis été supprimée.

Quand il fonctionne, il ne semble fonctionner correctement - dire qu'il ne décrochez le nouveau code -. Donc je ne pense pas qu'il est en quelque sorte coincé référence à l'ancienne version

Toutes les idées?

Était-ce utile?

La solution

Vous devez définir la variable d'environnement BUNDLE_GEMFILE avant de lancer le serveur, pointer à current/Gemfile.

Autres conseils

In your unicorn.rb add the before_exec block

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

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

Read more about it here http://blog.willj.net/2011/08/02/fixing-the-gemfile-not-found-bundlergemfilenotfound-error/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top