LoginSignup
5
4

More than 3 years have passed since last update.

composer requireがInstallation failedするけどどうしてもrequireしたいんだ

Posted at

Composer requireしたらなんか怒られて失敗した

# composer require kalnoy/nestedset
Using version ^5.0 for kalnoy/nestedset
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - illuminate/events v6.2.0 requires php ^7.2 -> your PHP version (7.1.29) does not satisfy that requirement.
    - 省略
    - illuminate/events 6.x-dev requires php ^7.2 -> your PHP version (7.1.29) does not satisfy that requirement.
    - Conclusion: don't install kalnoy/nestedset v5.0.0
    - Conclusion: remove laravel/framework v5.6.38
    - Installation request for kalnoy/nestedset ^5.0 -> satisfiable by kalnoy/nestedset[v5.0.0, v5.x-dev].
    - Conclusion: don't install laravel/framework v5.6.38
    - kalnoy/nestedset v5.x-dev requires illuminate/events ~5.7.0|~5.8.0|^6.0 -> satisfiable by illuminate/events[5.7.17,省略v6.0.4, v6.1.0, v6.2.0].
    - don't install illuminate/events 5.7.17|don't install laravel/framework v5.6.38
    - 省略
    - don't install illuminate/events v5.8.9|don't install laravel/framework v5.6.38
    - Installation request for laravel/framework (locked at v5.6.38, required as 5.6.*) -> satisfiable by laravel/framework[v5.6.38].


Installation failed, reverting ./composer.json to its original content.

原因

今入れようとしたパッケージ(kalnoy/nestedset)とすでに入っているパッケージ(laravel/framework)がそれぞれ同じパッケージ(Illuminate/events)の違うバージョンに依存してしまっている。
本来なら古いバージョンのものをわざわざ入れるのは良くない(と思う。)が、今回はどうしても使いたいし、今後すでに入っている方(laravel/framework)のパッケージのバージョンをあげた際に解決する可能性もあるので強引に突破する。

解決法

このようにバージョン指定にアスタリスクをつけて、依存関係が解決されるバージョンが存在するのを祈る。

# composer require kalnoy/nestedset:4.*

kalnoy/nestedsetは現時点で5系が最新、4系の最新が4.3.5だったが、4.3.4で入った。
これでもしだめだったら:3.*:2.*と順にやっていくしかない。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4