😷

Laravel8時点の新規プロジェクト作成方法

2020/09/21に公開約2,000字

2020-09-21

laravel/installerをv4.0以上に更新

composer global require laravel/installer

重要なのでしばらくは何度でも書いたほうが良さそう。
旧バージョンのインストーラーは使えなくなるので今すぐ更新が必要。

laravel -V
Laravel Installer 4.0.4

この記事は4.0.4時の情報。

Jetstream付きで作成

laravel new laravel8-jet --jet

Livewire or Inertiaやチーム機能を使うか聞かれる。

Laravel8以降の新規でユーザー登録や認証機能を使うなら基本的にはJetstreamを使う。

LivewireかInertiaかの選択が重要だけど分からないならLivewireでいいはず。
Livewireで作ってLivewireの機能を無視すれば今までとほとんど変わらない。

--stackで最初からLivewireを指定できる。結局チーム機能を使うかは聞かれる。

laravel new laravel8-livewire --jet --stack=livewire

--teamsまで付ければ何も聞かれない。

laravel new laravel8-livewire --jet --stack=livewire --teams

Jetstreamなしで作成

laravel new laravel8

ユーザー登録やログインは自分で作るとか、
認証はSocialiteしか使わない、Jetstreamの他の機能も使わない場合はなしでもいい。
API用認証が必要ならSanctumを単独でインストールすればいい。

追記

その後調査が進んでJetstreamなしで作成の場合はlaravel/fortify単体でインストール+独自viewを作る、が良さそう。これが一番今まで通りの使い方できる。

https://zenn.dev/kawax/articles/laravel8-ui-to-fortify

laravel/uiは非推奨

一応Laravel8でもまだ使えるけど公式に「使うべきではない」と書かれてるので使わないほうがいい。

laravel new laravel8
composer require laravel/ui
php artisan ui vue --auth

あくまでも旧バージョンからアップグレードしたプロジェクトで使う用。

インストーラーを使わずcomposer create-projectで作成

4.0からインストーラーもcreate-projectを使ってるだけ。Jetstreamなしと同じ。

composer create-project --prefer-dist laravel/laravel laravel8 "8.*"

Jetstreamを使うなら手動でインストール。

composer require laravel/jetstream
php artisan jetstream:install livewire

laravel8がプロジェクト名。最後の"8.*"がバージョン。
つまりLaravel6を指定して作成することもできる。

composer create-project --prefer-dist laravel/laravel laravel6 "6.*"

Laravel8が変わりすぎて書籍などの情報が使えなくなって困ってる人はLaravel6で作ってもいい。

もう関係ない昔の話

Laravel5.8まではmake:auth

laravel new laravel5
php artisan make:auth

Laravel6ではlaravel/uiが分離

laravel new laravel6
composer require laravel/ui
php artisan ui vue --auth

Laravel7頃?インストーラーに--auth追加

laravel new laravel7 --auth

make:authでもuiでもプロジェクト作成後に一手間必要だったけど
--authの時期だけは一発で全部用意されたプロジェクトが作成できた。
説明も簡単。
せっかく簡単になってたのに--authが削除されて--jetに完全に置き換えられた。
今後は--jetで説明するだけだけど初心者にJetstreamは難しい気がする。

Discussion

ログインするとコメントできます