php artisan livewire:publish コマンド
php artisan livewire:publish は Livewire のフロントエンドアセットや設定ファイルをプロジェクトに公開 します。
開発時に public/ へコピーしたアセットを自前で管理したい場合や、設定をカスタマイズしたい場合に実行します。
php artisan livewire:publish [--assets] [--config] [--pagination] [--views]
オプション一覧
| オプション | 内容 | 公開先 |
|---|---|---|
--assets |
Livewire の JavaScript / CSS アセットを public/vendor/livewire へコピー |
public/vendor/livewire |
--config |
config/livewire.php を作成 / 上書き |
config/livewire.php |
--pagination |
ページネーション用 Blade テンプレートを公開 | resources/views/vendor/livewire/pagination |
--views |
Livewire のデフォルトビューテンプレートを公開 (Livewire 2.x 以前) | resources/views/vendor/livewire |
注
Livewire 4.x では--viewsは廃止され、--paginationのみが残ります。
実行例
# フロントエンドアセットだけを公開
php artisan livewire:publish --assets
# 設定ファイルとアセットを同時に公開
php artisan livewire:publish --config --assets
よくある落とし穴
| シナリオ | 問題 | 回避策 |
|---|---|---|
| コマンドを実行せずに開発を開始 | Livewire is not defined エラー |
php artisan livewire:publish --assets を実行 |
| アセットを手動でビルドした後に Livewire を更新 | アップデートでアセットが上書き | composer install 後に再度 --assets を実行 |
| 変更頻度が高いアセットを Git にコミット | コミットが肥大化 | CDN 配布を検討し、ローカル開発用だけに --assets を実行 |
実務での注意点
-
再実行の必要性
Livewire のバージョンアップ時にアセットが変更されることがあります。composer install後にphp artisan livewire:publish --assetsを再実行して最新版を確保してください。 -
公開先の管理
public/vendor/livewireが Web サーバーのドキュメントルートにマップされていることを確認してください。CDN で配布する場合は--assetsで生成されたファイルを別途ホストします。 -
設定ファイルのカスタマイズ
--configで生成されるconfig/livewire.phpにはcache_driver,model_class,livewire_view_namespaceなどを設定できます。デフォルト設定で動かない場合はここを確認してください。 -
バージョン互換性
-
Livewire 4.x → Laravel 10+, PHP 8.1+
-
Livewire 3.x → Laravel 9+, PHP 8.0+
コマンドを実行する前に環境が対応しているか確認しましょう。
参考リンク
これで、Livewire のフロントエンドアセット・設定を安全に公開し、デプロイ時の差分を最小化できます。デプロイ前に必ず php artisan livewire:publish --assets を実行して最新アセットを確保しましょう。

