Conflicts during installation
Closed this issue · 2 comments
MGeurts commented
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.
MGeurts commented
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 😉