Search code examples
composer-phplaravel-8laravel-livewire

How can I resolve conflicts with packages while updating livewire version from 2.0 to 3.0?


I have a laravel 8.75 project. It uses livewire 2.12 and some others packages including rappasoft/laravel-livewire-tables 2.15 and wire-elements/modal 1.0.

I want to add this package to my project : https://github.com/asantibanez/livewire-charts but it needed livewire version 3.0.

I try to run composer require livewire/livewire "^3.0" like it's explained here https://livewire.laravel.com/docs/upgrading

Here it's the error I receive :

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

  Problem 1
    - Root composer.json requires livewire/livewire ^3.0, found livewire/livewire[v3.0.0-beta.1, ..., v3.1.0] but these were not loaded, likely because it conflicts with another require.
  Problem 2
    - rappasoft/laravel-livewire-tables is locked to version v2.15.0 and an update of this package was not requested.
    - rappasoft/laravel-livewire-tables v2.15.0 requires livewire/livewire ^2.6 -> found livewire/livewire[v2.6.0, ..., 2.x-dev] but it conflicts with your root composer.json require (^3.0).
  Problem 3
    - wire-elements/modal is locked to version 1.0.8 and an update of this package was not requested.
    - wire-elements/modal 1.0.8 requires livewire/livewire ^2.0 -> found livewire/livewire[v2.0.0, ..., 2.x-dev] but it conflicts with your root composer.json require (^3.0).

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

I understand that it has conflicts with rappasoft/laravel-livewire-tables and wire-elements/modal packages which requires livewire version ^2.6 and ^2.0.

So I try to update theses packages first : I run composer require rappasoft/laravel-livewire-tables "^3.0" -W And this was the error I receive :

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

  Problem 1
    - Root composer.json requires rappasoft/laravel-livewire-tables ^3.0 -> satisfiable by rappasoft/laravel-livewire-tables[v3.0.0-beta.1, ..., v3.1.2].
    - rappasoft/laravel-livewire-tables[v3.0.0-beta.1, ..., v3.1.2] require livewire/livewire ^3.0|dev-main -> found livewire/livewire[dev-main, v3.0.0-beta.1, ..., v3.1.0] but it conflicts with your root composer.json require (^2.10).

I have the same error with composer require wire-elements/modal "^2.0" -W

It seems that I'm going in circles, livewire can't be upgrade because of theses packages version but I can't upgrade these packages because of the livewire version...

How can I go through this problem?

EDIT : According to @Nico Haase comment I try to run : composer require wire-elements/modal:^2.0 rappasoft/laravel-livewire-tables:^3.0 livewire/livewire:^3.0 -W

and I receive another errors :

  Problem 1
    - blade-ui-kit/blade-heroicons 2.1.0 requires illuminate/support ^9.0|^10.0 -> found illuminate/support[v9.0.0-beta.1, ..., 9.x-dev, v10.0.0, ..., 10.x-dev] but these were not loaded, likely because it conflicts with another require.
    - rappasoft/laravel-livewire-tables[v3.0.0-beta.1, ..., v3.1.2] require blade-ui-kit/blade-heroicons ^2.1 -> satisfiable by blade-ui-kit/blade-heroicons[2.1.0].
    - Root composer.json requires rappasoft/laravel-livewire-tables ^3.0 -> satisfiable by rappasoft/laravel-livewire-tables[v3.0.0-beta.1, ..., v3.1.2].

Solution

  • As there are no versions of rappasoft/laravel-livewire-tables and wire-elements/modal that are compatible with livewire/livewire v2 and v3, you could try to update all three packages at the same time. Do this by running:

    composer require "livewire/livewire:^3.0" "rappasoft/laravel-livewire-tables:^3.0" "wire-elements/modal^2.0"
    

    But also keep in mind that there is no version 8.75 of Laravel currently. livewire/livewire in v3 requires Laravel 10