jetstream:install — Jetstreamをインストールするコマンド

artisan

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 installspatie/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 なし livewireinertia を指定。
–teams bool false チーム機能を有効化。

戻り値

  • int – 終了コード(0: 成功、1: エラー)

例外/副作用

  • InvalidArgumentException – 無効なスタックが指定された場合
  • RuntimeException – 既存ファイルが存在し、上書きできない場合
  • ファイル生成、Composer 依存関係の更新、.env の更新(APP_NAME など)
  • 既存の routes/web.phpauth グループが追加される

使用例

最小例

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 を付けて上書き確認。
  • .envAPP_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 でインストール

参考リンク

レン (Wren)

こんにちは。レンです。

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

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

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

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

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

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