Я пытался запустить
heroku run rake db:migrate
И получил ошибку
Невозможно запустить более 1 динамиков свободного размера. Ниже описано, как исправить...
Я пытался запустить
heroku run rake db:migrate
И получил ошибку
Невозможно запустить более 1 динамиков свободного размера. Ниже описано, как исправить...
Ответ заключается в том, чтобы искать любые открытые сеансы геройку (вы можете использовать "heroku ps", как указывает Джон, ниже), в моем случае я уже запустил консольную консоль 30 минут раньше и просто забыл об этом. Поэтому, если вы видите, что ошибка "Не удается запустить более 1 разного размера" просто закрывает любую существующую консоль или другие сеансы геройку, которые вы открыли.
Надеюсь, это спасет кого-то десять минут, которые потребовалось мне, чтобы прийти в себя.
Самый эффективный
при запуске консоли:
heroku ps
результат выглядит примерно так:
run.4859 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c
Таким образом, числа 4859 представляют собой сеанс, который открыт и должен быть закрыт. Чтобы исправить ошибку, вам нужно запустить (Obviusly, замените число 4859 на полученный номер):
heroku ps:stop run.4859
Это очень простое решение.
Имел ту же самую проблему и пришел на эту страницу. После того, как вы поняли, что происходит, но хотите добавить следующее.
просто запустите
heroku kill DYNO --app your_app_name
После этого закройте все открытые консоли.
Затем запустите команду db migrate, она будет работать.
В моем случае я запустил heroku ps:restart
чтобы перезапустить все dynos, и команда heroku run *
снова heroku run *
.
Примеры
Если у вас есть только один пульт Git для Heroku, используйте это:
heroku ps:restart && heroku run *
Если у вас есть несколько пультов Git для Heroku, используйте это:
heroku ps:restart --remote your-remote-name && heroku run * --remote your-remote-name
ИЛИ ЖЕ
heroku ps:restart --app your-heroku-app-name && heroku run * --app your-heroku-app-name
Замените *
вашей командой, например, console
для Rails console.
То, что я имел в виду под your-heroku-app-name
является поддоменом для вашего приложения Heroku. Например, если URL вашего приложения - https://cute-cat.herokuapp.com
, это означает, что your-heroku-app-name
- cute-cat
.
Если вы не уверены/забыли, как ваше имя Git remote для Heroku, 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)