サイトアイコン FITSブログ

Windows環境でcomposerを使用したときに出たエラー(解消済み)

Composer といえば、PHPのパッケージ管理と依存関係の解消を行ってくれる便利ツールだけど、Windows 環境で使っていて思わぬエラーを踏んだのでメモを残しておく。

まず、Composer のインストールについて、経験則上は、インストール時点でPHPの実行環境が存在していることが多いので、php 越しに composer-setup.phpを実行したり、composer.pharをダウンロードしてきてパスを通す、といったことが多いように思う。

しかし、実はWindows環境向けには公式のインストーラーが存在している。

https://getcomposer.org/doc/00-intro.md#installation-windows

こちらからインストールすると composer がインストールされる&パスが通った状態となり、コマンドプロンプトなどから利用できる。のはずだったが、composerを実行すると下記のようなエラーとなった。

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.57 -> satisfiable by league/flysystem[1.0.57].
     - league/flysystem 1.0.57 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
   Problem 2
     - league/flysystem 1.0.57 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
     - league/flysystem-aws-s3-v3 1.0.23 requires league/flysystem ^1.0.40 -> satisfiable by league/flysystem[1.0.57].
     - Installation request for league/flysystem-aws-s3-v3 1.0.23 -> satisfiable by league/flysystem-aws-s3-v3[1.0.23].
 To enable extensions, verify that they are enabled in your .ini files:
     - C:\php\php.ini
   You can also run php --ini inside terminal to see which files are used by PHP in CLI mode.

エラーメッセージにあるように、composerが必要としているPHPの拡張機能が無効となっているからで php.ini を編集し、

;extension=fileinfo

の先頭のセミコロンを削除(コメントアウトを解除)して

extension=fileinfo 

とすることでエラーが解消された。

モバイルバージョンを終了