web-dev-qa-db-ja.com

Heroku:1つ以上のFreeサイズのdynoを実行できません

私は走ろうとしていた

heroku run rake db:migrate

エラーが発生していました

1つを超える空きサイズのdynoを実行できません。修正方法については以下を参照してください...

65
Andrew

答えは、開いているherokuセッションを探すことです(ジョンが以下で指摘するように、「heroku ps」を使用できます)。私の場合、30分前にすでにherokuコンソールセッションを開始していて、忘れてしまいました。そのため、「1つ以上のフリーサイズのdynoを実行できません」というエラーが表示された場合は、既存のコンソールまたは開いている他のherokuセッションを閉じるだけです。

うまくいけば、私が感覚を取り戻すのに要した10分を誰かが救うことを願っています。

113
Andrew

最も効果的

コンソール実行で:

heroku ps

結果は次のようになります。

run.4859 (Free): up 2016/01/12 21:28:41 (~ 7m ago): Rails c

したがって、番号4859は、開いているセッションを閉じて閉じる必要があることを表しています。エラーを修正するには、実行する必要があります(ただし、4859を取得した番号に置き換えてください)。

heroku ps:stop run.4859

これは非常にシンプルなソリューションです。

84
uomo_perfetto

まったく同じ問題があり、このページに来ました。読んだ後、何が起こっているのかを理解したが、以下を追加したい。

ただ走れ

heroku kill DYNO --app your_app_name

この後、開いているすべてのコンソールを閉じます。

次に、db migrateコマンドを実行すると動作します。

5
Manas

私の場合、heroku ps:restartを実行して再起動しましたall dynosとheroku run *コマンドが再び機能しました。

Herokuに1つのGitリモートがある場合は、これを使用します。

heroku ps:restart && heroku run *

Herokuに複数のGitリモートがある場合、これを使用します。

heroku ps:restart --remote your-remote-name && heroku run * --remote your-remote-name

OR

heroku ps:restart --app your-heroku-app-name && heroku run * --app your-heroku-app-name

*をコマンドに置き換えます。 console for Rails console。


ここでyour-heroku-app-nameが意味するのは、Herokuアプリのサブドメインです。たとえば、アプリのURLがhttps://cute-cat.herokuapp.comの場合、それはyour-heroku-app-namecute-catであることを意味します。

HerokuのGitリモート名がわからない場合、または忘れた場合は、git remote -vが役立ちます。

例:

$ 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)
1