ece-tools icon indicating copy to clipboard operation
ece-tools copied to clipboard

Composer errors when installing with Magento OS

Open joeshelton-wagento opened this issue 1 year ago • 2 comments

Preconditions

PHP 8.2 Composer 2.5.8

Steps to reproduce

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <install-directory-name> composer require magento/ece-tools

Expected result

Composer installation without warnings or errors

Actual result

Info from https://repo.packagist.org: #StandWithUkraine
./composer.json has been updated
Running composer update magento/ece-tools
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - magento/ece-tools 2002.0 requires monolog/monolog ^1.17 -> found monolog/monolog[1.17.0, ..., 1.27.1] but the package is fixed to 2.9.1 (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.
    - magento/ece-tools[2002.0.1, ..., 2002.0.23] require php ^7.0 -> your php version (8.2.8) does not satisfy that requirement.
    - magento/ece-tools[2002.1.0, ..., 2002.1.8] require php ^7.1.3 -> your php version (8.2.8) does not satisfy that requirement.
    - magento/ece-tools[2002.1.9, ..., 2002.1.15] require symfony/config ^4.4 || ^5.1 -> found symfony/config[v4.4.0, ..., v4.4.44, v5.1.0, ..., v5.4.26] but the package is fixed to v6.3.2 (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 magento/ece-tools * -> satisfiable by magento/ece-tools[2002.0, ..., 2002.1.15].

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 magento/ece-tools:*" to figure out if any version is installable, or "composer require magento/ece-tools:^2.1" if you know which you need.

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

joeshelton-wagento avatar Sep 15 '23 22:09 joeshelton-wagento

@joeshelton-wagento why are you installing ece-tools in a community project?

ssx avatar Sep 18 '23 06:09 ssx

I plan to extend ECE Tools for use with Magento Open Source outside of a Cloud environment. Much of the code in ECE Tools would accommodate this. The original plan was for a more general-purpose tool.

Regardless, it is curious to me that ECE Tools would not have sub-dependancies in alignment with the most recent version of Magento OS. After running composer require magento/ece-tools -W many of Magento OS sub-dependancies were downgraded. Is there a practical reason for needing to downgrade Magento OS dependancies? Or, do the ECE Tools sub-dependancy version constraints need to be updated to reflect a real compatibility with Magento OS?

joeshelton@Joes-MacBook-Pro eceanywhere % composer require magento/ece-tools -W
Info from https://repo.packagist.org: #StandWithUkraine
./composer.json has been updated
Running composer update magento/ece-tools --with-all-dependencies
Loading composer repositories with package information
Updating dependencies
Lock file operations: 17 installs, 5 updates, 1 removal
  - Removing symfony/var-exporter (v6.3.4)
  - Locking friendsofphp/proxy-manager-lts (v1.0.16)
  - Locking graylog2/gelf-php (1.7.1)
  - Locking illuminate/collections (v8.83.27)
  - Locking illuminate/config (v8.83.27)
  - Locking illuminate/contracts (v8.83.27)
  - Locking illuminate/macroable (v8.83.27)
  - Locking magento/ece-tools (2002.1.15)
  - Locking magento/magento-cloud-components (1.0.13)
  - Locking magento/magento-cloud-docker (1.3.6)
  - Locking magento/magento-cloud-patches (1.0.24)
  - Locking magento/quality-patches (1.1.38)
  - Locking nesbot/carbon (2.70.0)
  - Locking psr/simple-cache (1.0.1)
  - Downgrading symfony/config (v6.3.2 => v5.4.26)
  - Downgrading symfony/dependency-injection (v6.3.4 => v5.4.28)
  - Downgrading symfony/http-kernel (v6.2.14 => v6.0.20)
  - Downgrading symfony/mime (v5.4.26 => v5.4.13)
  - Locking symfony/proxy-manager-bridge (v6.1.11)
  - Locking symfony/serializer (v4.4.47)
  - Locking symfony/translation (v6.3.3)
  - Locking symfony/translation-contracts (v2.5.2)
  - Downgrading symfony/yaml (v6.3.3 => v5.4.23)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 17 installs, 5 updates, 1 removal
  - Downloading symfony/dependency-injection (v5.4.28)
  - Downloading nesbot/carbon (2.70.0)
  - Downloading magento/quality-patches (1.1.38)
  - Downloading magento/magento-cloud-patches (1.0.24)
  - Removing symfony/var-exporter (v6.3.4)
  - Downgrading symfony/yaml (v6.3.3 => v5.4.23): Extracting archive
  - Installing illuminate/macroable (v8.83.27): Extracting archive
  - Installing psr/simple-cache (1.0.1): Extracting archive
  - Installing illuminate/contracts (v8.83.27): Extracting archive
  - Installing illuminate/collections (v8.83.27): Extracting archive
  - Installing symfony/serializer (v4.4.47): Extracting archive
  - Downgrading symfony/dependency-injection (v6.3.4 => v5.4.28): Extracting archive
  - Downgrading symfony/config (v6.3.2 => v5.4.26): Extracting archive
  - Installing symfony/translation-contracts (v2.5.2): Extracting archive
  - Installing symfony/translation (v6.3.3): Extracting archive
  - Installing nesbot/carbon (2.70.0): Extracting archive
  - Installing friendsofphp/proxy-manager-lts (v1.0.16): Extracting archive
  - Installing symfony/proxy-manager-bridge (v6.1.11): Extracting archive
  - Installing magento/quality-patches (1.1.38): Extracting archive
  - Installing magento/magento-cloud-patches (1.0.24): Extracting archive
  - Installing illuminate/config (v8.83.27): Extracting archive
  - Installing magento/magento-cloud-docker (1.3.6): Extracting archive
  - Installing magento/magento-cloud-components (1.0.13): Extracting archive
  - Installing graylog2/gelf-php (1.7.1): Extracting archive
  - Installing magento/ece-tools (2002.1.15): Extracting archive
  - Downgrading symfony/mime (v5.4.26 => v5.4.13): Extracting archive
  - Downgrading symfony/http-kernel (v6.2.14 => v6.0.20): Extracting archive
Removing Symfony/VarExporter
3 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package sebastian/phpcpd is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
137 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found
Using version ^2002.1 for magento/ece-tools

joeshelton-wagento avatar Sep 18 '23 14:09 joeshelton-wagento