Railsアプリで「フォアマンスタート」を実行しようとしていますが、このエラーメッセージによりフォアマンを正しく実行できません。
~~>エラー:ポート1025を使用しているものがあります。すでにMailCatcherを実行していますか?
PIDを強制終了し、Webインターフェイスにアクセスしてプログラムを終了し、コンプを再起動しようとしました。誰もこれを改善する方法を知っていますか?
ありがとう
OSXでは、シェルで次を実行します。
Sudo lsof -nP -iTCP:1025 -sTCP:LISTEN
このコマンドの予想される出力は、ポート1025でリッスンしているプロセスです。
Ruby 43841 youruserid 9u IPv4 0x6a1610da80bb9b4f 0t0 TCP 127.0.0.1:1025 (LISTEN)
上記の出力では、2番目の値はプロセス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
url( http://127.0.0.1:108 )を開きます。
注:ポートは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ハブではほとんど見つけることができません。これは my cut です。
launchctl remove me.mailcatcher
良いアドバイス。すでに何らかの方法で「postfix」を設定または実行している場合は、「Mail Catcher」でメールを取得するために停止します
Sudo systemctl stop postfix
メールキャッチャーが使用しているポートのプロセスIDを取得する
lsof -i tcp:1080
lsof -i tcp:1025
emを殺す:
kill 37747
kill 35647