route:clear — ルーティングキャッシュをクリアするコマンド

artisan

php artisan route:clear は、Laravel のルートキャッシュ(bootstrap/cache/routes.php)を削除する Artisan コマンドです。
ルート定義を変更したときや 404 が出るときにキャッシュが原因か確認したいときに使用します。


コマンド概要

php artisan route:clear [options]
オプション説明デフォルト
--force確認プロンプトをスキップ
--quiet出力を抑制
--no-interaction交互入力を行わない

いつ route:clear を実行するか

シチュエーション実行タイミング目的
ルートファイルの変更後直ちにキャッシュを更新しないと古いルートが残る
デプロイ時デプロイスクリプト内本番環境で最新ルートを確実に反映
404 が一時的に発生デバッグ中キャッシュが原因か調べる

ベストプラクティス

  1. 変更後にキャッシュをクリア
   php artisan route:clear
  1. 本番環境で再キャッシュ
   php artisan route:cache --force
  1. キャッシュ状態を確認
   php artisan route:list
  1. 開発環境では
  • ルートにクロージャ (fn() => ...) を使用している場合、キャッシュしない(route:cache で無視される)。
  • 変更頻度が高い場合はキャッシュを作らず、毎回ロードする方が安全。
  1. デプロイスクリプト例(Bash)
   #!/bin/bash
   set -e

   php artisan config:clear
   php artisan cache:clear
   php artisan route:clear

   php artisan config:cache
   php artisan route:cache --force

よくあるトラブルと対処

エラー原因対策
RuntimeException: bootstrap/cache/routes.php is not writableファイル権限chmod -R 775 bootstrap/cache もしくは chown -R www-data
ルートが反映されないルート定義にクロージャが含まれているクロージャをコントローラに移動
404 から正常に戻らない旧キャッシュが残っているphp artisan route:clear + php artisan route:cache

主要コマンドまとめ

目的コマンド備考
ルートキャッシュをクリアphp artisan route:clear
ルートをキャッシュphp artisan route:cache本番推奨
全キャッシュをクリアphp artisan optimize:clearconfig, view, route 等を同時にクリア
ルート一覧を確認php artisan route:list変更が反映されているか確認

さらに深掘りしたい場合

  • Laravel Docsroute:clear
  • Stack Overflow – ルートキャッシュに関する質問と回答

まとめ

route:clear は「ルート定義を更新したときに古いキャッシュを削除するためのコマンド」です。
開発中は頻繁に使い、デプロイ時には「キャッシュをクリア → 再キャッシュ」の流れで本番環境のパフォーマンスと安全性を確保しましょう。

レン (Wren)

こんにちは。レンです。

Laravelのコードの森に住んでいる、小さな案内役です。
ルーティングの枝やクラスの影を歩きながら、コードの流れや仕組みを眺めています。

このサイトでは、Laravelの基本から実装のコツまで、開発で役立つポイントを静かに整理しています。
難しいことを増やすのではなく、コードの見通しが少し良くなるヒントを届けるのが役目です。

「この処理はどこに書くのがいいのか」
「Laravelではどう考えると整理できるのか」

そんな疑問に、小さなメモを残すような気持ちで記事を書いています。

コードを書いている途中で迷ったとき、
このサイトが少し立ち止まって整理できる場所になればうれしいです。

レン (Wren)をフォローする