BlackbitDigitalCommerce / pimcore-data-director

Import Bundle for Pimcore
16 stars 3 forks source link

Update to DD 3.4 on PimCore 6.9 composer dependencies issue #117

Open betterapp opened 1 year ago

betterapp commented 1 year ago

When I try to update DD from 3.2 to 3.4 I got such composer issue.

Trying to fix it.

daniel@DZ-IMC-2773317:~/Web/xxxxxxxxxxx.pim$ composer require blackbit/data-director
Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/
Info from https://repo.packagist.org: #StandWithUkraine
Using version ^3.4 for blackbit/data-director
./composer.json has been updated
Loading composer repositories with package information
Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - league/flysystem-sftp-v3 3.6.0 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.5.2 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.3.0 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.2.0 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.15.0 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.14.0 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.13.0 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.10.3 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.1.1 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.9 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.23 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.21 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.2 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.19 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.18 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.17 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.15 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.14 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.12 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - league/flysystem-sftp-v3 3.0.0 requires php ^8.0.2 -> your PHP version (7.4.30) does not satisfy that requirement.
    - Conclusion: remove paragonie/random_compat v9.99.100
    - Conclusion: don't install paragonie/random_compat v9.99.100
    - phpseclib/phpseclib 3.0.0 requires paragonie/random_compat ^1.4|^2.0 -> satisfiable by paragonie/random_compat[v1.4.0, v1.4.1, v1.4.2, v1.4.3, v2.0.0, v2.0.1, v2.0.10, v2.0.11, v2.0.12, v2.0.13, v2.0.14, v2.0.15, v2.0.16, v2.0.17, v2.0.18, v2.0.19, v2.0.2, v2.0.20, v2.0.21, v2.0.3, v2.0.4, v2.0.5, v2.0.6, v2.0.7, v2.0.8, v2.0.9].
    - phpseclib/phpseclib 3.0.1 requires paragonie/random_compat ^1.4|^2.0 -> satisfiable by paragonie/random_compat[v1.4.0, v1.4.1, v1.4.2, v1.4.3, v2.0.0, v2.0.1, v2.0.10, v2.0.11, v2.0.12, v2.0.13, v2.0.14, v2.0.15, v2.0.16, v2.0.17, v2.0.18, v2.0.19, v2.0.2, v2.0.20, v2.0.21, v2.0.3, v2.0.4, v2.0.5, v2.0.6, v2.0.7, v2.0.8, v2.0.9].
    - phpseclib/phpseclib 3.0.2 requires paragonie/random_compat ^1.4|^2.0 -> satisfiable by paragonie/random_compat[v1.4.0, v1.4.1, v1.4.2, v1.4.3, v2.0.0, v2.0.1, v2.0.10, v2.0.11, v2.0.12, v2.0.13, v2.0.14, v2.0.15, v2.0.16, v2.0.17, v2.0.18, v2.0.19, v2.0.2, v2.0.20, v2.0.21, v2.0.3, v2.0.4, v2.0.5, v2.0.6, v2.0.7, v2.0.8, v2.0.9].
    - phpseclib/phpseclib 3.0.3 requires paragonie/random_compat ^1.4|^2.0 -> satisfiable by paragonie/random_compat[v1.4.0, v1.4.1, v1.4.2, v1.4.3, v2.0.0, v2.0.1, v2.0.10, v2.0.11, v2.0.12, v2.0.13, v2.0.14, v2.0.15, v2.0.16, v2.0.17, v2.0.18, v2.0.19, v2.0.2, v2.0.20, v2.0.21, v2.0.3, v2.0.4, v2.0.5, v2.0.6, v2.0.7, v2.0.8, v2.0.9].
    - Can only install one of: paragonie/random_compat[v1.4.0, v9.99.100].
    - Can only install one of: paragonie/random_compat[v1.4.1, v9.99.100].
    - Can only install one of: paragonie/random_compat[v1.4.2, v9.99.100].
    - Can only install one of: paragonie/random_compat[v1.4.3, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.0, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.1, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.10, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.11, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.12, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.13, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.14, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.15, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.16, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.17, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.18, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.19, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.2, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.20, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.21, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.3, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.4, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.5, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.6, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.7, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.8, v9.99.100].
    - Can only install one of: paragonie/random_compat[v2.0.9, v9.99.100].
    - Installation request for paragonie/random_compat (locked at v9.99.100) -> satisfiable by paragonie/random_compat[v9.99.100].
    - Installation request for blackbit/data-director ^3.4 -> satisfiable by blackbit/data-director[3.4.11].
    - Conclusion: don't install phpseclib/phpseclib 2.0.44|install phpseclib/phpseclib 3.0.0|install phpseclib/phpseclib 3.0.1|install phpseclib/phpseclib 3.0.2|install phpseclib/phpseclib 3.0.3
    - Conclusion: remove phpseclib/phpseclib 2.0.44|install phpseclib/phpseclib 3.0.0|install phpseclib/phpseclib 3.0.1|install phpseclib/phpseclib 3.0.2|install phpseclib/phpseclib 3.0.3
    - blackbit/data-director 3.4.11 requires league/flysystem-sftp-v3 * -> satisfiable by league/flysystem-sftp-v3[2.4.0, 2.4.1, 2.4.4, 2.4.5, 2.5.0, 3.0.0, 3.0.12, 3.0.14, 3.0.15, 3.0.17, 3.0.18, 3.0.19, 3.0.2, 3.0.21, 3.0.23, 3.0.9, 3.1.1, 3.10.3, 3.13.0, 3.14.0, 3.15.0, 3.2.0, 3.3.0, 3.5.2, 3.6.0].
    - league/flysystem-sftp-v3 2.5.0 requires phpseclib/phpseclib ^3.0 -> satisfiable by phpseclib/phpseclib[3.0.0, 3.0.1, 3.0.10, 3.0.11, 3.0.12, 3.0.13, 3.0.14, 3.0.15, 3.0.16, 3.0.17, 3.0.18, 3.0.19, 3.0.2, 3.0.20, 3.0.21, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7, 3.0.8, 3.0.9].
    - league/flysystem-sftp-v3 2.4.5 requires phpseclib/phpseclib ^3.0 -> satisfiable by phpseclib/phpseclib[3.0.0, 3.0.1, 3.0.10, 3.0.11, 3.0.12, 3.0.13, 3.0.14, 3.0.15, 3.0.16, 3.0.17, 3.0.18, 3.0.19, 3.0.2, 3.0.20, 3.0.21, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7, 3.0.8, 3.0.9].
    - league/flysystem-sftp-v3 2.4.4 requires phpseclib/phpseclib ^3.0 -> satisfiable by phpseclib/phpseclib[3.0.0, 3.0.1, 3.0.10, 3.0.11, 3.0.12, 3.0.13, 3.0.14, 3.0.15, 3.0.16, 3.0.17, 3.0.18, 3.0.19, 3.0.2, 3.0.20, 3.0.21, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7, 3.0.8, 3.0.9].
    - league/flysystem-sftp-v3 2.4.1 requires phpseclib/phpseclib ^3.0 -> satisfiable by phpseclib/phpseclib[3.0.0, 3.0.1, 3.0.10, 3.0.11, 3.0.12, 3.0.13, 3.0.14, 3.0.15, 3.0.16, 3.0.17, 3.0.18, 3.0.19, 3.0.2, 3.0.20, 3.0.21, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7, 3.0.8, 3.0.9].
    - league/flysystem-sftp-v3 2.4.0 requires phpseclib/phpseclib ^3.0 -> satisfiable by phpseclib/phpseclib[3.0.0, 3.0.1, 3.0.10, 3.0.11, 3.0.12, 3.0.13, 3.0.14, 3.0.15, 3.0.16, 3.0.17, 3.0.18, 3.0.19, 3.0.2, 3.0.20, 3.0.21, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7, 3.0.8, 3.0.9].
    - Can only install one of: phpseclib/phpseclib[3.0.10, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.11, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.12, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.13, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.14, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.15, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.16, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.17, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.18, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.19, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.20, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.21, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.4, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.5, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.6, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.7, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.8, 2.0.44].
    - Can only install one of: phpseclib/phpseclib[3.0.9, 2.0.44].
    - Installation request for phpseclib/phpseclib (locked at 2.0.44) -> satisfiable by phpseclib/phpseclib[2.0.44].
BlackbitDevs commented 1 year ago

In 3.5 this problem will be fixed. With this version also PHP >= 7.3 is supported again.

betterapp commented 1 year ago

hmmm. but I have this problem when try to upgrade to 3.3 also. So 3.3 and 3.4 version does not work on pim < 10 ? We still use pimcore 6.9.

When 3.5 version will be released ? Will this fix be applied only to version 3.5 or 3.4 and 3.3 also ?

betterapp commented 1 year ago

I could update to 3.4 but needed to remove composer.lock file.

BlackbitDevs commented 1 year ago

So 3.3 and 3.4 version does not work on pim < 10 ?

No, it does not work with PHP < 8.0, independent of Pimcore version. So either upgrade PHP, then it should work - or already use 3.5.x-dev. The compatiblity fix will only get applied to 3.5 and up.

3.5 is planned to be released at end of September.

betterapp commented 1 year ago

But in what context it does not work with PHP <8 In context of using PHP 8 composer's packages or in context of using specific things from PHP 8 in DataDirector's code ?

It is strange that 3.2 >= PHP 7.3 3.3, 3.4 >= PHP 8.0 3.5 >= PHP 7.3

Jan-Walther-Blackbit commented 1 year ago

Data Director code itself is completely compatible with PHP 7. But libraries are not, especially there was a problem with league/flysystem-sftp-v3. This requires "phpseclib/phpseclib": "^3.0". So in the end there was some conflict with flysystem/flystem's libraries and the above ones. But my goal is always to support as many PHP / Symfony / Pimcore versions as possible and thus in 3.5 I have implemented SFTP differently.

betterapp commented 1 year ago

But when I removed composer.lock and installed DD 3.4 version, composer generated new composer.lock file without any problems so in this case composer could find the right package versions - right ?

BlackbitDevs commented 1 year ago

Which composer.lock did you remove? The one in vendor/blackbit/data-director should actually not matter. You should always update Data Director with the --with-dependencies (or -w) option: composer update blackbit/data-director --with-dependencies

This way Composer will try to update also libraries which Data Director depends on and thus find a suitable set of versions. When you deleted your composer.lock in Picmore root folder, you actually did the same but this way you will update ALL libraries (incl. Pimcore, Symfony etc.)

betterapp commented 11 months ago

3.5 is planned to be released at end of September.

Will it be released and when ? @BlackbitDevs

BlackbitDevs commented 11 months ago

Branch 3.5 is now compatible with Pimcore 11. Currently we are testing it and soon it will be released. Of course we would appreciate if you could also test it and maybe report potential issues.

betterapp commented 11 months ago

Which tag should I use for testing ?

Jan-Walther-Blackbit commented 11 months ago

Currently there is no tagged version. For testing you can use branch 3.5 (= Composer version constraint 3.5.x-dev). Soon this will get released as 3.5.