1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Laravel/Vite】「5173番が埋まってて勝手に5174番になる」→「画面真っ白」を一発で直す方法

1
Posted at

⚡️ 起こっていること

Laravel + Vite で開発中にエラーで止まったり、ターミナルを無理やり閉じたりすると、次に npm run dev したときにこんなことになりませんか?

  ➜  Local:   http://localhost:5174/  <-- !? なぜか 5174 になっている
  ➜  Network: use --host to expose

本来は 5173番 で動いてほしいのに、勝手に 5174番 にズレてしまう現象です。

これの何が困るかというと、

  • AWSなどのセキュリティグループで 5173 しか許可していない
  • vite.config.jsblade5173 を見に行っている

この状態でポートがズレると、「CSSやJSが読み込まれず、画面が真っ白(または崩れる)」 という悲しい状態になります。

👻 原因:5173番にゾンビがいる

原因はシンプルです。
「さっき終了したはずのプロセスが、裏でまだ5173番を握りしめたまま生き残っている(ゾンビ化している)」 からです。

Viteは優しいので、「あ、5173番埋まってるな。じゃあ空いてる5174番を使おう」と気を利かせてくれますが、サーバー環境ではその優しさが逆に仇となり、通信遮断の原因になります。

🚀 解決策:一撃必殺コマンド

犯人探し(PIDの確認)なんて面倒なことは不要です。
「5173番を使っているヤツ」を指名手配して即座に強制終了させましょう。

以下のコマンドを叩くだけです。

fuser -k 5173/tcp
  • fuser: ファイルやポートを使っているプロセスを特定するコマンド
  • -k: kill(強制終了)
  • 5173/tcp: 5173番ポートを指定

✅ 確認

コマンド実行後、もう一度いつものように起動してみてください。

npm run dev
  ➜  Local:   http://localhost:5173/

無事、5173番 に戻ってきました!
これで画面のデザインも正しく読み込まれるはずです。

💡 補足:fuserがない場合

もし fuser: command not found と言われた場合は、psmisc パッケージが入っていません。
その場合は、ちょっと面倒ですが lsof で犯人を特定して kill します。

# 1. 犯人(PID)を探す
lsof -i :5173
# -> 結果の PID の数字を覚える (例: 12345)

# 2. 始末する
kill -9 12345

でも、fuser の方が圧倒的に楽なのでおすすめです!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?