Laravelでプロジェクトを作成しようとしたらエラーが発生した際の対処法です。
エラー情報
laravel new appName
でプロジェクトを作成しようとしたら以下のようなエラーが出ました。
PS C:dev> laravel new sample
Crafting application...
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for league/flysystem 1.0.63 -> satisfiable by league/flysystem[1.0.63].
- league/flysystem 1.0.63 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
Problem 2
- league/flysystem 1.0.63 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
- laravel/framework v6.10.1 requires league/flysystem ^1.0.8 -> satisfiable by league/flysystem[1.0.63].
- Installation request for laravel/framework v6.10.1 -> satisfiable by laravel/framework[v6.10.1].
To enable extensions, verify that they are enabled in your .ini files:
- C:phpphp.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
問題点は php の fileinfo という拡張機能が使えないこと
the requested extension fileinfo is missing from your system.
というメッセージの部分です。
この fileinfo を有効化するために、php.iniを編集する必要があります。
php.ini の保管場所を確認
エラーメッセージの最終行にコマンドでphpで参照している
php.iniの保存場所が確認できると書いてあるので試してみます。
PS C:dev> php --ini
Configuration File (php.ini) Path: C:WINDOWS
Loaded Configuration File: C:phpphp.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
C:phpphp.ini を参照しているということがわかりました。
エラー解消
php.iniを開いて、以下の記述を探し、コメントアウトを削除します。
php.ini編集前
;extension=ffi
;extension=fileinfo
;extension=gd2
php.ini編集後
;extension=ffi
extension=fileinfo
;extension=gd2
このエラーが発生したきっかけ
今回のこの問題は一度Laravel環境を整えたPCを修理に出して、
いろいろな設定が中途半端な状態になった為に発生しました。
通常セットアップでは発生しないと思います。
(少なくとも私は最初のセットアップで出ませんでした。。。)
ではでは、良いLaravelライフを!