私は走ろうとしていた
heroku run rake db:migrate
エラーが発生していました
1つを超える空きサイズのdynoを実行できません。修正方法については以下を参照してください...
答えは、開いているherokuセッションを探すことです(ジョンが以下で指摘するように、「heroku ps」を使用できます)。私の場合、30分前にすでにherokuコンソールセッションを開始していて、忘れてしまいました。そのため、「1つ以上のフリーサイズのdynoを実行できません」というエラーが表示された場合は、既存のコンソールまたは開いている他のherokuセッションを閉じるだけです。
うまくいけば、私が感覚を取り戻すのに要した10分を誰かが救うことを願っています。
最も効果的
コンソール実行で:
heroku ps
結果は次のようになります。
run.4859 (Free): up 2016/01/12 21:28:41 (~ 7m ago): Rails c
したがって、番号4859は、開いているセッションを閉じて閉じる必要があることを表しています。エラーを修正するには、実行する必要があります(ただし、4859を取得した番号に置き換えてください)。
heroku ps:stop run.4859
これは非常にシンプルなソリューションです。
まったく同じ問題があり、このページに来ました。読んだ後、何が起こっているのかを理解したが、以下を追加したい。
ただ走れ
heroku kill DYNO --app your_app_name
この後、開いているすべてのコンソールを閉じます。
次に、db migrateコマンドを実行すると動作します。
私の場合、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-name
がcute-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)