我试图运行
heroku run rake db:migrate
正在收到错误
不能运行超过1个自由尺寸的dynos。 请参阅下文,了解如何解决...
答案 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-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)
答案 4 :(得分:1)
只需重新启动所有测功机。
heroku restart