我正在尝试为rails应用程序运行“foreman start”但是这条错误消息阻止我正确地运行领班:
~~>错误:有些东西正在使用端口1025.您是否已经在运行 MailCatcher?
我已经尝试杀死PID,转到Web界面退出程序,还...重新启动comp。有人知道如何解决这个问题吗?
由于
答案 0 :(得分:41)
在OSX中,在shell中运行以下命令:
sudo lsof -nP -iTCP:1025 -sTCP:LISTEN
此命令的预期输出是一个进程,它正在侦听端口1025:
ruby 43841 youruserid 9u IPv4 0x6a1610da80bb9b4f 0t0 TCP 127.0.0.1:1025 (LISTEN)
在上面的输出中,第二个值是进程ID。然后,杀死违规过程(替换正确的PID):
sudo kill 43841
答案 1 :(得分:12)
MailCatcher启动SMTP和HTTP服务器。
$ mailcatcher
Starting MailCatcher
==> smtp://127.0.0.1:1025
==> http://127.0.0.1:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.
启动MailCatcher时,请参阅输出中的最后一行?
$ mailcatcher
Starting MailCatcher
~~> ERROR: Something's using port 1025. Are you already running MailCatcher?
在浏览器中打开http
网址(http://127.0.0.1:1080)。
注意:该端口可能与1080
不同。如果是这样,你将不得不使用该端口。如果你不知道,你将不得不使用其中一个其他答案来终止正在运行的过程。
答案 2 :(得分:9)
如果您使用的是linux,那么您应该可以使用netstat命令查看正在使用某个端口的程序。要查看端口1025是否正在使用,请从命令行运行:
$ netstat -tulpn | grep :1025
这是一个有用的参考: http://www.cyberciti.biz/faq/what-process-has-open-linux-port/
答案 3 :(得分:2)
我通过在另一个端口上启动mailcatcher解决了这个问题:
mailcatcher --smtp-port 1026
并在config/development.rb
config.action_mailer.smtp_settings = {
...
port: 1026,
...
}
答案 4 :(得分:0)
要避免这种情况,请在容器中使用mailcatcher。你可以在docker hub找到很少的东西,这里是my cut。
答案 5 :(得分:0)
尝试launchctl remove me.mailcatcher
答案 6 :(得分:0)
一个好建议。如果您已经以某种方式“postfix”配置或运行只是停止它以获取邮件“邮件捕手”
sudo systemctl stop postfix
答案 7 :(得分:0)
获取mailcatcher正在使用的端口的进程ID。
lsof -i tcp:1080
lsof -i tcp:1025
杀死他们:
kill 37747
kill 35647
答案 8 :(得分:0)
把它放在这里以防对其他人有帮助。
我错误地访问了 http://localhost:1025/,而我需要在 http://localhost:1080/。
转到 http://localhost:1080/ 并希望 mailcatcher 按预期运行