2014-03-26 8 views
7

Ich benutze Bundler für eine Rails App von Capistrano bereitgestellt. Ich versuche, das DelayedJob-Juwel hinzuzufügen, aber die Datei bin/delayed_job fehlt auf dem Remote-Server, nachdem ich eine Bereitstellung durchgeführt habe. Es existiert auf meinem lokalen Rechner.Bundler mit Capistrano generiert keine Binärdatei für DelayedJob

versuchte ich die Schaffung es manuell mit bundle binstubs delayed_job aber es funktioniert nicht mit: There are no executables for the gem delayed_job.

Was soll ich hier fehlt?

Die Edelsteine ​​in Frage sind: Bündler 1.3.5, 3.1.0 Capistrano, DelayedJob 4.0.0, Rails 4.0.2

EDIT: http://pastebin.com/WuE3eJrj

+0

Und deine 'Gemfile' ...? –

+0

@UriAgassi Ich habe die Gemfile hochgeladen. – hattila91

+0

wird "bundle install" auf dem Remote-Server korrekt übergeben? –

Antwort

5

Ich glaube, Sie brauchen: Hier meine volle Gemfile ist die gem "daemons", entsprechend der Dokumentation zu enthalten:

dazu Juwel „Dämonen“ zu Ihrem Gemfile hinzufügen und stellen Sie sicher, Sie haben laufen Schienen delayed_job erzeugen.

https://github.com/collectiveidea/delayed_job#running-jobs

+0

Sie haben Recht, das habe ich vermisst. Vielen Dank! – hattila91

10

hatte ich das gleiche Problem. Der Binstub delayed_job wird nicht mit Bundler erzeugt, sondern mit einem Schienengenerator. Verhindern Sie, dass das bin-Verzeichnis während der capistrano-Bereitstellung symbolisiert wird. Ändern config/deploy.rb aus dieser:

set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system} 

zu

set :linked_dirs, %w{log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system} 

Dann regeneriert ich alle binstubs lokal Bündler mit

bundle install --binstubs 

Nun lief ich den delayed_job Generator

bundle exec rails g delayed_job 

Überprüfen Sie alles in und erneut bereitstellen.

+1

das Entfernen des Fachordners funktionierte auch für mich –