##目的
Laravel7 のアプリケーションにユーザ認証機能を実装するために、
$ composer require laravel/uiを実行したところエラーとなった。
解決策の備忘録として記載する。
##環境
PHP 7.4.8
Laravel4.2.5
Windows 10 Pro
##ターミナル(コマンドプロンプト)で実行したコード(1パターン目)
composer require laravel/ui
##エラー文(1パターン目)
PS C:\Program Files\Apache Software Foundation\Apache24\htdocs\laravel\helloworld> composer require laravel/ui
Using version ^3.3 for laravel/ui
./composer.json has been updated
Running composer update laravel/ui
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/ui[v3.3.0, ..., 3.x-dev] require illuminate/console ^8.42 -> found illuminate/console[v8.42.0, ..., 8.x-dev] but these were not loaded, likely because
it conflicts with another require.
- Root composer.json requires laravel/ui ^3.3 -> satisfiable by laravel/ui[v3.3.0, 3.x-dev].
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
##ターミナル(コマンドプロンプト)で実行したコード(2パターン目)
composer require laravel/ui:^2.4
##エラー文(2パターン目)
PS C:\Program Files\Apache Software Foundation\Apache24\htdocs\laravel\helloworld> composer require laravel/ui:^2.4
./composer.json has been updated
Running composer update laravel/ui
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/ui v2.4.0 requires illuminate/console ^7.0 -> found illuminate/console[v7.0.0, ..., 7.x-dev] but these were not loaded, likely because it conflicts with another require.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
##解決方法
色々なサイトを見てみると、バージョンを変えたら正常にインストールできたという意見が多かった。
以下パッケージリストのサイトを参考に1つずつバージョンを変えて試してみた。
https://packagist.org/packages/laravel/ui
以下キャプチャの赤枠がリリースされているバージョンとなっている。
私の環境では V3.1.0 で正常にインストールできたので、以下コードで実行した。
composer require laravel/ui:^3.1
成功すると以下のような文章が出てきた。
PS C:\Program Files\Apache Software Foundation\Apache24\htdocs\laravel\helloworld> composer require laravel/ui:^3.1
./composer.json has been updated
Running composer update laravel/ui
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
- Locking laravel/ui (v3.1.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Downloading laravel/ui (v3.1.0)
- Installing laravel/ui (v3.1.0): Extracting archive
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/tinker
Discovered Package: laravel/ui
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
74 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
LOGIN機能の設定追加と、DBにテーブルを作成
php artisan ui vue --auth
php artisan migrate
FrontEndに必要なPackageをインストール
(Node/npmの使用が必要)
npm install
CSS/JSを作成ビルド
npm run dev
##まとめ
以上でログイン機能を実装することができました。
Laravelのバージョンによって対応が変わるようなので、別のバージョンの方や
この記事で解決できなかった方は以下参考にしてください。
Laravel6/7での実装方法
https://qiita.com/daisu_yamazaki/items/a914a16ca1640334d7a5
Laravel8での実装方法
https://qiita.com/daisu_yamazaki/items/b946594896179abcd203
MAC
https://qiita.com/miriwo/items/767b5f69ffaba85ebf6e
同じ事象を説明した記事
https://qiita.com/PWuttam/items/a29f2af2da796b2969cd