30

我正在尝试为 rails 应用程序运行“工头启动”,但是此错误消息阻止我正确运行工头:

~~> 错误:某些东西正在使用端口 1025。您是否已经在运行 MailCatcher?

我试过杀掉 PID,去网络界面退出程序,还......重新启动 comp。有谁知道如何解决这个问题?

谢谢

4

9 回答 9

47

在 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
于 2015-01-12T23:58:12.247 回答
19

MailCatcher启动 SMTP 和 HTTP 服务器。

当您在终端中启动 MailCatcher 时,您将看到以下输出:

$ 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(如果它已经在运行),您将看到:

$ mailcatcher
Starting MailCatcher
~~> ERROR: Something's using port 1025. Are you already running MailCatcher?

如何退出 Mailcatcher:

  1. 在浏览器中 打开http网址 ( http://127.0.0.1:1080 )。

    注意:端口可能不同于1080. 如果是这样,您将不得不使用该端口。如果您不知道,则必须使用此处的其他答案之一来终止正在运行的进程。

  2. 在打开的页面的右上角,您会看到一个“退出”链接。

如何退出 MailCatcher

于 2016-03-23T17:57:36.113 回答
10

如果您使用的是 linux,您应该能够使用 netstat 命令查看哪个程序正在使用某个端口。要查看端口 1025 是否正在使用,请从命令行运行:

$ netstat -tulpn | grep :1025

这是一个有用的参考: http ://www.cyberciti.biz/faq/what-process-has-open-linux-port/

于 2014-07-18T18:26:21.957 回答
3

我通过在不同的端口上启动 mailcatcher 解决了这个问题: mailcatcher --smtp-port 1026

并更改以下内容config/development.rb

config.action_mailer.smtp_settings = {
  ...
  port: 1026,
  ...
}
于 2017-02-21T09:25:04.283 回答
1

为了避免这种情况,请在容器中使用 mailcatcher。你可以在 docker hub 中找到一些,这是我的剪辑

于 2017-08-07T04:50:58.957 回答
1

获取 mailcatcher 正在使用的端口的进程 ID

lsof -i tcp:1080 
lsof -i tcp:1025

杀了他们:

kill 37747 
kill 35647
于 2019-04-24T19:11:23.707 回答
0

尝试launchctl remove me.mailcatcher

于 2018-04-09T15:42:44.393 回答
0

把它放在这里以防它帮助别人。

我错误地访问了http://localhost:1025/,而我需要访问http://localhost:1080/

转到http://localhost:1080/并希望 mailcatcher 按预期运行

于 2021-01-14T12:29:58.400 回答
0

一个很好的建议。如果您已经以某种方式配置或运行“postfix”,只需停止它以获取“Mail Catcher”中的邮件

sudo systemctl stop postfix
于 2018-05-08T09:44:19.710 回答