公式ではLaravel5.5の動作環境はPHP >=7.0.0。

開発したアプリをPHP7.0.22の環境で composer install しようとしたら

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for doctrine/inflector v1.3.0 -> satisfiable by doctrine/inflector[v1.3.0].
    - doctrine/inflector v1.3.0 requires php ^7.1 -> your PHP version (7.0.22) does not satisfy that requirement.
  Problem 2
    - Installation request for symfony/css-selector v4.0.4 -> satisfiable by symfony/css-selector[v4.0.4].
    - symfony/css-selector v4.0.4 requires php ^7.1.3 -> your PHP version (7.0.22) does not satisfy that requirement.
  Problem 3
    - Installation request for symfony/event-dispatcher v4.0.4 -> satisfiable by symfony/event-dispatcher[v4.0.4].
    - symfony/event-dispatcher v4.0.4 requires php ^7.1.3 -> your PHP version (7.0.22) does not satisfy that requirement.
  Problem 4
    - Installation request for doctrine/instantiator 1.1.0 -> satisfiable by doctrine/instantiator[1.1.0].
    - doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (7.0.22) does not satisfy that requirement.
  Problem 5
    - doctrine/inflector v1.3.0 requires php ^7.1 -> your PHP version (7.0.22) does not satisfy that requirement.
    - laravel/framework v5.5.33 requires doctrine/inflector ~1.1 -> satisfiable by doctrine/inflector[v1.3.0].
    - Installation request for laravel/framework v5.5.33 -> satisfiable by laravel/framework[v5.5.33].

というようなエラーが出た。
Laravel自体は7.0.0以上で動くようですけど、依存ライブラリがそれでは動かないみたい。
composer.jsonに使用するPHPのバージョンを記載することで、その環境で動くバージョンのライブラリをインストールしてくれる。

"config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true,
        "platform": {
            "php": "7.0.22"
        }
    }

これで無事composer installできました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です