我试图跑步
heroku run rake db:migrate
并得到错误
不能运行超过1个自由尺寸的测功机。
参见下面的解决方法...
Answers:
最有效
在控制台中运行:
heroku ps
结果是这样的:
run.4859 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c
因此,数字4859代表已打开且需要关闭的会话。要解决该错误,您需要运行(很明显,将4859替换为获得的数字):
heroku ps:stop run.4859
这是一个非常简单的解决方案。
答案是寻找任何打开的heroku会话(您可以使用john指出的“ heroku ps”,在我的情况下),我已经提前30分钟开始了一次heroku控制台会话,却忘了它。因此,如果看到“无法运行超过1个自由大小的测功机”错误,请关闭所有现有的控制台或打开的其他heroku会话。
希望这可以节省一个人花了我十分钟的时间来使我感动。
heroku ps
,然后heroku ps:stop <DYNO>
停止该过程。
heroku ps
)类似于linux“ netstat”。将向您显示正在运行的进程。就我而言run.5656 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c
。如您所见,我误将Rails控制台打开了。所以我所要做的就是奔跑heroku ps:stop run.5656
。Easy Peasy :)谢谢约翰!
heroku ps:stop run.9121 --app my-app-name
我的bash号为9121
。您可以通过heroku ps
就我而言,我跑去heroku ps:restart
重新启动所有测功机,heroku run *
命令再次起作用。
例子
如果您只有一个用于Heroku的Git遥控器,请使用以下命令:
heroku ps:restart && heroku run *
如果您有多个Heroku的Git遥控器,请使用以下命令:
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控制台。
我的意思your-heroku-app-name
是您的Heroku应用程序的子域。例如,如果您的应用网址为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)