tpetry/laravel-mysql-explain

Conflicts during installation

Closed this issue · 2 comments

What happened?

Package installation without dependency conflicts.

How to reproduce the bug

composer require tpetry/laravel-mysql-explain:

  Problem 1
    - tpetry/laravel-mysql-explain[1.0.0, ..., 1.0.2] require illuminate/contracts ^6.0|^7.0|^8.0|^9.0|^10.0 -> found illuminate/contracts[v6.0.0, ..., v6.20.44, v7.0.0, ..., v7.30.6, v8.0.0, ..., v8.83.27, v9.0.0, ..., v9.52.16, v10.0.0, ..., v10.48.16] but these were not loaded, likely because it conflicts with another require.
    - tpetry/laravel-mysql-explain[1.1.0, ..., 1.3.0] require spatie/invade ^1.0 -> found spatie/invade[1.0.0, ..., 1.1.1] but the package is fixed to 2.1.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - Root composer.json requires tpetry/laravel-mysql-explain * -> satisfiable by tpetry/laravel-mysql-explain[1.0.0, ..., 1.3.0].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require tpetry/laravel-mysql-explain:*" to figure out if any version is installable, or "composer require tpetry/laravel-mysql-explain:^2.1" if you know which you need.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Package Version

1.3.0

PHP Version

8.3.9

Laravel Version

11.15

Which operating systems does with happen with?

Windows

Notes

  Problem 1
    - tpetry/laravel-mysql-explain[1.0.0, ..., 1.0.2] require illuminate/contracts ^6.0|^7.0|^8.0|^9.0|^10.0 -> found illuminate/contracts[v6.0.0, ..., v6.20.44, v7.0.0, ..., v7.30.6, v8.0.0, ..., v8.83.27, v9.0.0, ..., v9.52.16, v10.0.0, ..., v10.48.16] but these were not loaded, likely because it conflicts with another require.
    - tpetry/laravel-mysql-explain[1.1.0, ..., 1.3.0] require spatie/invade ^1.0 -> found spatie/invade[1.0.0, ..., 1.1.1] but the package is fixed to 2.1.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - Root composer.json requires tpetry/laravel-mysql-explain * -> satisfiable by tpetry/laravel-mysql-explain[1.0.0, ..., 1.3.0].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require tpetry/laravel-mysql-explain:*" to figure out if any version is installable, or "composer require tpetry/laravel-mysql-explain:^2.1" if you know which you need.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Using the option --with-all-dependencies, it installs but downgrades spatie/invade (2.1.0 => 1.1.1).
Is this downgrade realy needed?
Thanks.

tpetry commented

This dependency was infact no longer needed as the workaround is no longer required. So i refactored the code and removed the dependency. You will not get any conflicts anymore with 1.3.1 😉