命令"混合phoenix.server"总是收到错误:
=INFO REPORT==== 14-Dec-2015::20:55:48 ===
application: logger
exited: stopped
type: temporary
** (Mix) Could not start application odt: Odt.start(:normal, []) returned an error: shutdown: failed to start child: Odt.Endpoint
** (Exit) shutdown: failed to start child: Phoenix.Endpoint.Server
** (Exit) shutdown: failed to start child: {:ranch_listener_sup, Odt.Endpoint.HTTP}
** (Exit) shutdown: failed to start child: :ranch_acceptors_sup
** (Exit) {:listener_error, Odt.Endpoint.HTTP, :eaddrinuse}
我该如何解决?我做错了什么?
答案 0 :(得分:5)
如果他们遇到这个问题,其他人可以找到答案:
这一行:
** (Exit) {:listener_error, Odt.Endpoint.HTTP, :eaddrinuse}
表示某些内容已经在使用4000端口(这是Phoenix的默认端口)。尝试检查此http://localhost:4000
以查看是否有任何内容。如果这样做,则通过更改dev.exs
文件来修改Phoenix打开的端口。
答案 1 :(得分:1)
我正在使用mac,所以这个答案对于linux来说是一样的
只需运行lsof -i :4000
即可查看哪些进程正在使用该端口。
一旦确定了对应于phoenix(beam.smp)的那个,就直接杀死进程
kill -9 PID
或者您可以killall beam.smp
干杯