Ich habe versucht zu rennen
heroku run rake db:migrate
Und bekam den Fehler
Es können nicht mehr als 1 Dynos mit freier Größe ausgeführt werden.
Weiter unten erfahren Sie, wie Sie das Problem beheben können ...
ruby-on-rails
heroku
heroku-toolbelt
Andrew
quelle
quelle
Die Antwort ist, nach offenen Heroku-Sitzungen zu suchen (Sie können 'Heroku ps' verwenden, wie John unten ausführt). In meinem Fall hatte ich bereits 30 Minuten zuvor eine Heroku-Konsolensitzung gestartet und habe sie einfach vergessen. Wenn der Fehler "Kann nicht mehr als 1 Dynos mit freier Größe ausführen" angezeigt wird, schließen Sie einfach eine vorhandene Konsole oder andere geöffnete Heroku-Sitzungen.
Hoffentlich erspart dies jemandem die zehn Minuten, die ich gebraucht habe, um zur Besinnung zu kommen.
quelle
heroku ps
und dann tunheroku ps:stop <DYNO>
, um den Prozess zu stoppen.heroku ps
) ist wie Linux "netstat". Zeigt Ihnen, wie Prozesse ausgeführt werden. In meinem Fall sah es so ausrun.5656 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c
. Wie Sie sehen, habe ich versehentlich die Rails-Konsole offen gelassen. Also musste ich nur rennenheroku ps:stop run.5656
. Easy Peasy :) Danke John!heroku ps:stop run.9121 --app my-app-name
Meine Bash-Nummer war9121
. Sie können Ihre mit sehenheroku ps
Hatte genau das gleiche Problem und kam auf diese Seite. Nach dem Lesen wurde klar, was los war, aber ich möchte folgendes hinzufügen.
Renn einfach
heroku kill DYNO --app your_app_name
Danach schließen Sie alle offenen Konsolen.
Führen Sie dann den Befehl db migrate aus, es wird funktionieren.
quelle
In meinem Fall lief ich
heroku ps:restart
, um alle Dynos neu zu starten, und derheroku run *
Befehl funktionierte erneut.Beispiele
Wenn Sie nur eine Git-Fernbedienung für Heroku haben, verwenden Sie diese:
heroku ps:restart && heroku run *
Wenn Sie mehrere Git-Fernbedienungen für Heroku haben, verwenden Sie diese:
heroku ps:restart --remote your-remote-name && heroku run * --remote your-remote-name
ODER
heroku ps:restart --app your-heroku-app-name && heroku run * --app your-heroku-app-name
Ersetzen Sie
*
durch Ihren Befehl zBconsole
für Rails-Konsole.Was ich hier damit gemeint
your-heroku-app-name
habe, ist die Subdomain für Ihre Heroku-App. Zum Beispiel, wenn Sie Ihre App - URL isthttps://cute-cat.herokuapp.com
, dass Mittelyour-heroku-app-name
sindcute-cat
.Wenn Sie nicht sicher sind / vergessen haben, wie Ihr Git-Remote-Name für Heroku lautet,
git remote -v
können Sie Ihnen dabei helfen.Beispiel:
$ git remote -v this-is-the-remote-name https://git.heroku.com/xxx.git (fetch) this-is-the-remote-name https://git.heroku.com/xxx.git (push) this-is-another-remote-name https://git.heroku.com/yyy.git (fetch) this-is-another-remote-name https://git.heroku.com/yyy.git (push)
quelle