💨
Stripe Appのローカル開発で、`localhost:4242 is already in use`が発生した時の対処法
Stripe にはサービス連携やカスタム UI、ワークフローなどを構築・カスタマイズできる「Stripe 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
ステップ3 ローカルネットワーク設定を確認する
ポート確認とバージョンのアップデート後も問題が解決しない場合、ローカルマシンのネットワーク設定が原因の 1 つとして考えられます。特に、/etc/hostsファイルの設定によっては、ローカルホストへのバインドに失敗することがあります。ファイル内に次の行が含まれていることを確認してください。
127.0.0.1 localhost
::1 localhost
これらのエントリは、システムがホスト名を正しく IP アドレスに解決するうえで必要です。不足している場合は追記し、ファイルの変更を保存してください。
Discussion