Heroku:不能运行超过1个自由尺寸的dynos

时间:2016-01-11 17:30:46

标签: ruby-on-rails heroku heroku-toolbelt

我试图运行

heroku run rake db:migrate

正在收到错误

  

不能运行超过1个自由尺寸的dynos。   请参阅下文,了解如何解决...

5 个答案:

答案 0 :(得分:109)

答案是寻找任何开放的heroku会话(你可以使用'heroku ps',正如john在下面指出的那样),在我的情况下,我已经在30分钟前启动了一个heroku控制台会话并且忘了它。因此,如果您看到“无法运行超过1个免费大小的dynos”错误,只需关闭任何现有控制台或其他已打开的heroku会话。

希望这可以节省一些人让我感觉到的十分钟。

答案 1 :(得分:79)

最有效

在控制台运行中:

heroku ps

结果是这样的:

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

因此数字4859代表开放且需要关闭的会话。要修复您需要运行的错误(Obviusly,用获得的数字替换数字4859):

heroku ps:stop run.4859

这是一个非常简单的解决方案。

答案 2 :(得分:4)

有完全相同的问题,来到这个页面。阅读后意识到发生了什么,但想添加以下内容。

运行

heroku kill DYNO --app your_app_name

关闭所有打开的控制台后。

然后运行db migrate命令,它将起作用。

答案 3 :(得分:1)

就我而言,我运行heroku ps:restart重新启动所有测功机,并且heroku run *命令再次起作用。

示例

如果您只有Herstrong的一个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用于Rails控制台。


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)

答案 4 :(得分:1)

只需重新启动所有测功机。 heroku restart