Laravel 10 では Laravel Breeze をインストールするだけでユーザ認証の機能をシステムに追加することができてしまいます.具体的にはログイン,ユーザ登録,パスワードリセット,メール確認,パスワード確認など必要な認証機能ほぼ全てが実装されています.また,ユーザ名やメールアドレス,パスワードの変更機能もインストールするだけで利用できるようになります.
なお,Laravel Breeze のデフォルトビューは,Tailwind CSS でスタイリングされます.ここのページでは Bootstrap を利用しましたが,以降のページでは Tailwind CSS スタイリングすることにします.
まず,次のコマンドのように composer を使って laravel/breeze をインストールします.このコマンドで laravel/breeze とそれに必要な幾つかのパッケージもインストールされます.
vagrant@ubuntu2204 laravelAuth $ php ../composer.phar require laravel/breeze --dev ⏎
./composer.json has been updated
Running composer update laravel/breeze
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
- Locking laravel/breeze (v1.26.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Downloading laravel/breeze (v1.26.0)
- Installing laravel/breeze (v1.26.0): Extracting archive
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
INFO Discovering packages.
laravel/breeze ............................... DONE
laravel/sail ................................. DONE
laravel/sanctum .............................. DONE
laravel/tinker ............................... DONE
nesbot/carbon ................................ DONE
nunomaduro/collision ......................... DONE
nunomaduro/termwind .......................... DONE
spatie/laravel-ignition ...................... DONE
82 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO No publishable resources for tag [laravel-assets].
No security vulnerability advisories found.
Using version ^1.26 for laravel/breeze
vagrant@ubuntu2204 laravelAuth $
Tailwind CSS のためには Node.js と npm が必要です.しかし,ここの手順に従って仮想環境を構築した場合には,すでに必要なバージョンの npm がインストールされているはずですので,次のステップに進んでください.一方で別の方法で環境を構築した場合にはインストールされた npm のバージョンが古いことがあり,そのような場合に動作しない可能性があります.次の一連のコマンドを順番に実行するとインストールとアップデートが可能です.
sudo apt-get update sudo apt-get install node.js sudo apt-get install npm sudo npm cache clean sudo npm install -g n sudo n stable sudo n latest sudo ln -sf /usr/local/bin/node /usr/bin/node sudo ln -sf /usr/local/bin/npm /usr/bin/npm
次のコマンドで Breeze 用の blade テンプレートを構築してインストールします.
vagrant@ubuntu2204 laravelAuth $ php artisan breeze:install blade ⏎
INFO Installing and building Node dependencies.
added 111 packages, and audited 112 packages in 24s
22 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 10.1.0 -> 10.2.3
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.2.3
npm notice Run npm install -g npm@10.2.3 to update!
npm notice
> build
> vite build
vite v4.5.0 building for production...
✓ 47 modules transformed.
public/build/manifest.json 0.26 kB │ gzip: 0.13 kB
public/build/assets/app-550d0007.css 30.15 kB │ gzip: 5.86 kB
public/build/assets/app-63bb58ea.js 72.12 kB │ gzip: 26.78 kB
✓ built in 1.89s
INFO Breeze scaffolding installed successfully.
vagrant@ubuntu2204 laravelAuth $
さらにデータベースのマイグレーションを行います.
vagrant@ubuntu2204 laravelAuth $ php artisan migrate ⏎ INFO Preparing database. Creating migration table .................................. 13ms DONE INFO Running migrations. 2014_10_12_000000_create_users_table ...................... 12ms DONE 2014_10_12_100000_create_password_reset_tokens_table ....... 6ms DONE 2019_08_19_000000_create_failed_jobs_table ................ 11ms DONE 2019_12_14_000001_create_personal_access_tokens_table ..... 17ms DONE vagrant@ubuntu2204 laravelAuth $ php artisan migrate:status ⏎ Migration name ....................................... Batch / Status 2014_10_12_000000_create_users_table ........................ [1] Ran 2014_10_12_100000_create_password_reset_tokens_table ........ [1] Ran 2019_08_19_000000_create_failed_jobs_table .................. [1] Ran 2019_12_14_000001_create_personal_access_tokens_table ....... [1] Ran vagrant@ubuntu2204 laravelAuth $
次に,npm のインストールを行います.
vagrant@ubuntu2204 laravelAuth $ npm install ⏎
up to date, audited 112 packages in 855ms
22 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
vagrant@ubuntu2204 laravelAuth $
最後に Tailwind の css をコンパイルします.このコマンドは今後も頻繁に実行することになります.
vagrant@ubuntu2204 laravelAuth $ npm run build ⏎
> build
> vite build
vite v4.5.0 building for production...
✓ 47 modules transformed.
public/build/manifest.json 0.26 kB │ gzip: 0.13 kB
public/build/assets/app-dac56a0f.css 30.76 kB │ gzip: 5.97 kB
public/build/assets/app-63bb58ea.js 72.12 kB │ gzip: 26.78 kB
✓ built in 1.78s
vagrant@ubuntu2204 laravelAuth $
以上の手順で Laravel Breeze を使ったユーザ認証機能が利用できるようになりました.次のページでは実際にユーザ登録を行って動作を確認します.