💨

Stripe Appのローカル開発で、`localhost:4242 is already in use`が発生した時の対処法

2024/03/21に公開

Stripeにはサービス連携やカスタムUI、ワークフローなどを構築・カスタマイズできる「Stripe Apps」があります。

https://stripe.com/jp/apps

これをローカルで開発する際、時より「localhost:4242 is already in use」というエラーが発生することがあります。

今回はこのエラーが発生した時の対処法を簡単に紹介します。

ステップ1: 現在のポート使用状況の確認

エラーが発生した際、まず確認することは、対象のポートを使用しているプロセスがあるかどうかをチェックすることです。Terminalやコマンドプロンプトで以下のコマンドを実行しましょう。

lsof -nP -i4TCP:4242 | grep LISTEN

Or

netstat -alnt | grep 4242

これらのコマンドは4242ポートでリッスンしているプロセスがあるかどうかを確認します。もし意図しないプロセスが存在している場合は、以下のようなコマンドで終了させましょう。

kill -9 <PID>

or

taskkill /F /PID <PID>

ステップ2: Stripe CLIとStripe Apps CLIプラグインのバージョン確認

次に、Stripe CLIとStripe Apps CLIプラグインが最新であることを確認します。古いバージョンのCLIは、予期せぬ挙動を引き起こす可能性があります。以下のコマンドでバージョンを確認し、必要に応じてアップデートを行います。

stripe --version

stripe plugin upgrade apps

https://stripe.com/docs/stripe-apps/create-app

ステップ3: ローカルネットワーク設定の確認

ポート確認とバージョンのアップデート後も問題が解決しない場合、ローカルマシンのネットワーク設定が原因の一つとして考えられます。特に、/etc/hosts ファイルの設定によっては、ローカルホストへのバインドに失敗することがあります。ファイル内に以下の行が含まれていることを確認してください。

127.0.0.1       localhost
::1             localhost

これらのエントリは、システムがホスト名を適切にIPアドレスに解決するために必要です。不足している場合は追記し、ファイルの変更を保存してください。

Discussion