Laravel – Artisan: jetstream:install
一言概要
Jetstream の認証・プロフィール機能をインストールし、選択したフロントエンドスタックに合わせたスキャフォールドを生成します。
- カテゴリ: artisan
- 掲載バージョン: Laravel 12・PHP 8.4
- 名前空間 / FQCN / コマンド:
php artisan jetstream:install {livewire|inertia} - 関連: Breeze, Fortify, Livewire, Inertia, Teams
- 変更履歴
- v1.0 (Laravel 8.12) – 公式インストールコマンド追加
- v2.0 – 依存パッケージ更新
- v3.0 –
--teamsオプション追加 - v3.4 – スタックのバリデーション改善
要点(TL;DR)
- 何に使うか: Jetstream のフロントエンドスタック(Livewire / Inertia)をインストール。
- 最低限の使い方:
php artisan jetstream:install livewire - よくある罠
composer installでspatie/laravel-server-monitorが不足。- 既存の認証設定が上書きされる。
npm install && npm run devを忘れるとフロントエンドが動かない。
概要
Jetstream は Laravel の統合認証パッケージで、Livewire と Inertia の両方に対応。jetstream:install コマンドは、選択したスタックに応じたコントローラー、ビュー、JavaScript バンドルを自動生成します。実務では、プロジェクト開始時に一度だけ実行し、以降は php artisan migrate でマイグレーションを実施します。
構文 / シグネチャ
php artisan jetstream:install {livewire|inertia} [--teams]
引数
| 引数 | 型 | 必須 | 既定値 | 説明 |
|---|---|---|---|---|
| stack | string | ✅ | なし | livewire か inertia を指定。 |
| –teams | bool | ❌ | false | チーム機能を有効化。 |
戻り値
int– 終了コード(0: 成功、1: エラー)
例外/副作用
InvalidArgumentException– 無効なスタックが指定された場合RuntimeException– 既存ファイルが存在し、上書きできない場合- ファイル生成、Composer 依存関係の更新、
.envの更新(APP_NAMEなど) - 既存の
routes/web.phpにauthグループが追加される
使用例
最小例
php artisan jetstream:install livewire
実務例
# Inertia スタック + チーム機能
php artisan jetstream:install inertia --teams
# 依存関係をインストールしビルド
composer install
npm install && npm run dev
# マイグレーション実行
php artisan migrate
よくある落とし穴・注意
- Node.js/npm がインストールされていない –
npm install && npm run devを必ず実行。 - 既存の認証ルートやビューが上書き –
--forceを付けて上書き確認。 .envのAPP_URLが未設定 – 生成された設定が正しく動作しない。
代替・関連APIとの比較
| Jetstream | Breeze | Fortify | |
|---|---|---|---|
| 目的 | 認証+プロフィール+チーム | 認証のみ(軽量) | 認証バックエンド(API向け) |
| フロント | Livewire / Inertia | Blade | なし(API) |
| コマンド | jetstream:install |
breeze:install |
fortify:install |
| 取得 | php artisan jetstream:install livewire |
php artisan breeze:install |
php artisan fortify:install |
| 使いどころ | 標準のフルスタックアプリ | 小規模プロジェクト | API サービス |
選定基準
- フロントエンドに Livewire / Inertia を採用したい → Jetstream
- シンプルな認証のみで Laravel のスキャフォールドが不要 → Breeze
- API 認証に特化したい → Fortify
テスト例(Pest)
it('installs Jetstream with Livewire stack', function () {
$exitCode = Artisan::call('jetstream:install', ['stack' => 'livewire']);
expect($exitCode)->toBe(0);
expect(Artisan::output())->toContain('Jetstream has been installed successfully');
});
トラブルシュート(エラー別)
| 症状/エラー | 原因 | 対処 |
|---|---|---|
InvalidArgumentException: The stack "foo" is not supported. |
無効なスタック指定 | 正しい livewire / inertia を指定 |
RuntimeException: The file ... already exists. |
既存ファイルがある | --force オプションで上書き確認 |
npm ERR! ... |
Node.js/ npm 未インストール | Node.js をインストールし、npm install を実行 |
Command "jetstream:install" is not defined. |
Jetstream がインストールされていない | composer require laravel/jetstream でインストール |

