Closed studio1gmbh-pimcore closed 8 months ago
I have always problems interpreting Composer's output. Which library exactly is the problem? Data Director is compatible with Pimcore 11. Must be one of the additional libraries / bundles.
@BlackbitDevs further investigation showed following conflicts:
Data Director requires "laminas/laminas-barcode": "2.*"
, which leads to following dependency chain:
├──laminas/laminas-barcode 2.*
│ ├──laminas/laminas-servicemanager ^3.10.0
│ │ ├──laminas/laminas-stdlib ^3.17
│ │ │ └──php ~8.1.0 || ~8.2.0 || ~8.3.0
│ │ ├──php ~8.1.0 || ~8.2.0 || ~8.3.0
│ │ └──psr/container ^1.0
│ │ └──php >=7.4.0
│ ├──laminas/laminas-stdlib ^3.6.0
│ │ └──php ~8.1.0 || ~8.2.0 || ~8.3.0
│ ├──laminas/laminas-validator ^2.15.1
│ │ ├──laminas/laminas-servicemanager ^3.21.0
│ │ │ ├──laminas/laminas-stdlib ^3.17
│ │ │ │ └──php ~8.1.0 || ~8.2.0 || ~8.3.0
│ │ │ ├──php ~8.1.0 || ~8.2.0 || ~8.3.0
│ │ │ └──psr/container ^1.0
│ │ │ └──php >=7.4.0
│ │ ├──laminas/laminas-stdlib ^3.13
│ │ │ └──php ~8.1.0 || ~8.2.0 || ~8.3.0
│ │ ├──php ~8.1.0 || ~8.2.0 || ~8.3.0
│ │ └──psr/http-message ^1.0.1 || ^2.0.0
│ │ └──php ^7.2 || ^8.0
│ └──php ~8.0.0 || ~8.1.0 || ~8.2.0
The problematic package here ist psr/container ^1.0
, which conflicts with Pimcore 11.0.12, that requires psr/container ^2.0
because of Symfony 6.3.
composer why psr/container
symfony/contracts v3.3.0 requires psr/container (^2.0)
symfony/dependency-injection v6.3.5 requires psr/container (^1.1|^2.0)
composer why symfony/contracts
pimcore/pimcore v11.0.12 requires symfony/contracts (^3.2)
It seems to be that laminas/laminas-servicemanager
supports psr/container:2.x
only in the not yet released 4.x
Version: https://github.com/laminas/laminas-servicemanager/pull/188
Have extracted laminas/barcode
and modified so that it does not depend on laminas/laminas-servicemanager
anymore. Think this should not be a problem because of https://github.com/laminas/laminas-barcode/blob/2.13.x/LICENSE.md
As soon as there is a version of laminas/laminas-servicemanager
which is compatible with psr/container:2.x
, this can be removed again.
@studio1gmbh-pimcore can you please try if it now works for your setup?
@BlackbitDevs thx, the initial conflict is now solved.
Unfortunately there is another one with leodido/langcode-conv
, which requires laminas/laminas-filter
.
This package has a lot of conflicts with Pimcore bundles such as pimcore/backend-power-tools-bundle
, pimcore/static-resolver-bundle
, or pimcore/data-hub-simple-rest
.
When we temporary remove leodido/langcode-conv
from data directors composer.json, the bundle can be installed.
We already put a lot of effort into identify/analyze the conflicts but with hundreds of cross dependencies it burns a lot of time. Is there any chance to get rid of leodido/langcode-conv
package?
@studio1gmbh-pimcore I replaced the requirement for leodido/langcode-conv
by a custom class. Can you please try again?
@BlackbitDevs thanks a lot! Fortunately the data director can now be installed in our Pimcore 11 Enterprise environments without any composer issues. 🎉
Further testing will show if all functionalities work, but for now everything looks good.
@studio1gmbh-pimcore I have to thank you for your analysis which library was responsible for the incompatibility 👍
Good work!
We attempted to install Blackbit Data Director using the following Composer command in a Pimcore Enterprise environment. In our test we completely stayed in Pimcore standard using the current platform version 2023.2.
We tried to install the Data Director using:
During the installation process, we encountered version conflicts between Pimcore Core/Bundle dependencies and the Data Director.
We kindly ask, if these compatibility issues are already known and if there are plans to make Data Director explicit compatible with Pimcore 11 in the Enterprise version. Is there a rough timeline available for the completion of this compatibility work?
Error:
Our
composer.json
looks like this: