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!
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.
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:
Ändern Sie Ihre Procfile wie folgt:
web: Bündel exec rails Server thin -p $ PORT -e Entwicklung
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!
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.
Tags und Links ruby-on-rails heroku thin foreman