我正在尝试为 rails 应用程序运行“工头启动”,但是此错误消息阻止我正确运行工头:
~~> 错误:某些东西正在使用端口 1025。您是否已经在运行 MailCatcher?
我试过杀掉 PID,去网络界面退出程序,还......重新启动 comp。有谁知道如何解决这个问题?
谢谢
我正在尝试为 rails 应用程序运行“工头启动”,但是此错误消息阻止我正确运行工头:
~~> 错误:某些东西正在使用端口 1025。您是否已经在运行 MailCatcher?
我试过杀掉 PID,去网络界面退出程序,还......重新启动 comp。有谁知道如何解决这个问题?
谢谢
在 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
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
. 如果是这样,您将不得不使用该端口。如果您不知道,则必须使用此处的其他答案之一来终止正在运行的进程。
如果您使用的是 linux,您应该能够使用 netstat 命令查看哪个程序正在使用某个端口。要查看端口 1025 是否正在使用,请从命令行运行:
$ netstat -tulpn | grep :1025
这是一个有用的参考: http ://www.cyberciti.biz/faq/what-process-has-open-linux-port/
我通过在不同的端口上启动 mailcatcher 解决了这个问题:
mailcatcher --smtp-port 1026
并更改以下内容config/development.rb
config.action_mailer.smtp_settings = {
...
port: 1026,
...
}
为了避免这种情况,请在容器中使用 mailcatcher。你可以在 docker hub 中找到一些,这是我的剪辑。
获取 mailcatcher 正在使用的端口的进程 ID
lsof -i tcp:1080
lsof -i tcp:1025
杀了他们:
kill 37747
kill 35647
尝试launchctl remove me.mailcatcher
把它放在这里以防它帮助别人。
我错误地访问了http://localhost:1025/,而我需要访问http://localhost:1080/。
转到http://localhost:1080/并希望 mailcatcher 按预期运行
一个很好的建议。如果您已经以某种方式配置或运行“postfix”,只需停止它以获取“Mail Catcher”中的邮件
sudo systemctl stop postfix