develjsw / laravel-project

0 stars 0 forks source link

Laravel 프로젝트 생성 불가 이슈 #2

Open develjsw opened 1 year ago

develjsw commented 1 year ago

PHP(8.1 version) 설치 → composer 설치 후 laravel을 설치 + 프로젝트 생성 순서로 진행할 때

composer를 통한 라라벨 프로젝트 생성 명령어 실행 시

$ composer create-project --prefer-dist laravel/laravel:[원하는 version] [project_name]
ex) $ composer create-project --prefer-dist laravel/laravel:^9.0 example-project

패키지 설치에 실패하며 아래와 같이 error가 발생한다.

 Creating a "laravel/laravel" project at "./project_name"
    Installing laravel/laravel (v10.2.4)
  - Installing laravel/laravel (v10.2.4): Extracting archive
    Created project in D:\workspace/project_name
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
    Loading composer repositories with package information
    Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - laravel/framework[v10.10.0, ..., v10.13.5] require league/flysystem ^3.8.0 -> satisfiable by league/flysystem[3.8.0, ..., 3.15.1].
    - league/flysystem[3.3.0, ..., 3.14.0] require league/mime-type-detection ^1.0.0 -> satisfiable by league/mime-type-detection[1.0.0, ..., 1.11.0].
    - league/flysystem[3.15.0, ..., 3.15.1] require league/flysystem-local ^3.0.0 -> satisfiable by league/flysystem-local[3.15.0].
    - league/mime-type-detection[1.0.0, ..., 1.3.0] require php ^7.2 -> your php version (8.1.20) does not satisfy that requirement.
    - league/mime-type-detection[1.4.0, ..., 1.11.0] require ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.
    - league/flysystem-local 3.15.0 require ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.
    - Root composer.json requires laravel/framework ^10.10 -> satisfiable by laravel/framework[v10.10.0, ..., v10.13.5].

To enable extensions, verify that they are enabled in your .ini files:
    - C:\php-8.1.20-nts-Win32-vs16-x64\php.ini
You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-fileinfo` to temporarily ignore these required extensions.

PHP 설치 후 php.ini을 확인해 보면 디폴트로 extension=fileinfo 부분이 주석 처리 되어 있는데 이 부분을 해제 해주면 정상 동작함을 확인할 수 있다.

develjsw commented 1 year ago

laravel -version 명령어와 해당 프로젝트 내에서 composer show laravel/framework 또는 php artisan --version 명령어는 다르며 우리가 흔히 말하는 laravel version은 php artisan --version 명령어이다.

develjsw commented 1 year ago

최초 프로젝트가 정상적으로 설치되면 composer.lock 파일이 생성된다. 패키지 설치에 실패한 경우 composer.json 파일만 존재함을 확인할 수 있다.