Vorarbeiter Startfehler (server.rb: 33, fehlendes Argument ...)

8

Nachdem ich versucht habe, den Vorarbeiter zu starten, bekomme ich diesen Fehler (beachte, dass es anscheinend auf heroku funktioniert, also denke ich, dass dies ein streng lokales Problem ist):

%Vor%

Die Procfile hat nur eine Zeile als , die von heroku

angegeben wurde %Vor%

Und meine gemfile hat

%Vor%

Google ist mit diesem Fehler nicht sehr hilfreich.

Danke!

    
Jonathan Leung 19.03.2012, 06:25
quelle

3 Antworten

21

Es geht nicht darum, auf Heroku auszuführen - sehen Sie, dass die ursprüngliche Frage über das Ausführen mit Foreman ist - was eine lokale Ausführung ist.

Sie können Ihren Fehler replizieren, indem Sie Folgendes ausführen:

  

rails server thin -e

Das ist effektiv, was Foreman mit Ihrer Procfile ausführt:

  

web: Bündel exec rails Server thin -p $ PORT -e $ RACK_ENV

Also werde ich raten, dass Sie kein Argument an -e weitergeben. dh. Sie haben RACK_ENV nicht lokal definiert.

Sie können eine .env -Datei in Ihrem lokalen Verzeichnis erstellen, etwa

  

RACK_ENV = Entwicklung

     

PORT = 3000

Foreman übernimmt automatisch die lokale .env -Datei und legt die Umgebung entsprechend fest, bevor der Prozess basierend auf der Deklaration des Prozeßtyps erstellt wird.

    
Jon Mountjoy 04.04.2012 13:41
quelle
0

Ich hatte das gleiche Problem mit Rails v3.2 in Ubuntu 10.04. Es gelang mir, dünn zu laufen, indem ich die folgenden Schritte machte:

  1. Ändern Sie Ihre Procfile wie folgt:

    web: Bündel exec rails Server thin -p $ PORT -e Entwicklung

  2. Fügen Sie $stdout.sync = true oben in Ihrer config.ru-Datei hinzu, um die Serverausgabe an Ihr Terminal zu leiten (andernfalls werden Sie nicht in Ihrem Terminal ausgegeben)

Sag mir, wenn es funktioniert!

    
Alex 19.03.2012 19:14
quelle
0

Ich bin gerade auf dasselbe Problem gestoßen. Wenn Sie Ihre Procfile auf nur

ändern %Vor%

sollte es funktionieren. Beachten Sie, dass hierfür der Standard-Thin-Port 5000 anstelle von 3000 verwendet wird. Dies bedeutet, dass Sie Ihre App Ссылка aufrufen müssen.

>

Nur

haben %Vor%

in Ihrem Procfile verwendet Port 3000, aber dies wird zu Fehlern auf Heroku führen.

    
Eric K 03.04.2012 19:15
quelle

Tags und Links