Cannot install API 2.0.0 for Drupal 11.0.1 - conflict with symfony/yaml

Created on 20 August 2024, 4 months ago

Problem/Motivation

Installing API 2.0 on Drupal 11.0.1

Steps to reproduce

$ composer require 'drupal/api:^2.0'
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]?
./composer.json has been updated
Running composer update drupal/api
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires drupal/api ^2.0 -> satisfiable by drupal/api[2.0.0].
    - drupal/api 2.0.0 requires symfony/yaml ^4.4.19 || ^6.2 -> found symfony/yaml[v4.4.19, ..., v4.4.45, v6.2.0, ..., v6.4.8] but it conflicts with your root composer.json require (^7.1).

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

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

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

🐛 Bug report
Status

Active

Version

2.0

Component

Other

Created by

🇮🇳India yasheshb

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @yasheshb
  • 🇪🇸Spain fjgarlin

    Does composer require 'drupal/api:2.x-dev@dev' work?

  • 🇮🇳India yasheshb

    @fjgarlin. does not work. thanks.

    i've upgraded from Drupal 11.0.1 to 11.0.4

    $ composer require 'drupal/api:2.x-dev@dev'
    Do not run Composer as root/super user! See https://getcomposer.org/root for details
    Continue as root/super user [yes]?
    ./composer.json has been updated
    Running composer update drupal/api
    Loading composer repositories with package information
    Updating dependencies
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - drupal/api dev-2.x requires nikic/php-parser ^4.7 -> found nikic/php-parser[v4.7.0, ..., v4.19.2] but it conflicts with your root composer.json require (^5.2).
        - drupal/api 2.x-dev is an alias of drupal/api dev-2.x and thus requires it to be installed too.
        - Root composer.json requires drupal/api 2.x-dev@dev -> satisfiable by drupal/api[2.x-dev (alias of dev-2.x)].
    
    Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
    
    Installation failed, reverting ./composer.json and ./composer.lock to their original content.
    
  • 🇪🇸Spain fjgarlin

    And what if you tried the suggested -W option?

  • 🇮🇳India yasheshb

    thx. tried it. no luck.

    $ composer require 'drupal/api:^2.0' --dry-run -W
    Do not run Composer as root/super user! See https://getcomposer.org/root for details
    Continue as root/super user [yes]?
    ./composer.json has been updated
    Running composer update drupal/api --with-all-dependencies
    Loading composer repositories with package information
    Updating dependencies
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - Root composer.json requires drupal/api ^2.0 -> satisfiable by drupal/api[2.0.0].
        - drupal/api 2.0.0 requires symfony/yaml ^4.4.19 || ^6.2 -> found symfony/yaml[v4.4.19, ..., v4.4.45, v6.2.0, ..., v6.4.12] but it conflicts with your root composer.json require (^7.1).
    
    
    Installation failed, reverting ./composer.json and ./composer.lock to their original content.
    
  • 🇪🇸Spain fjgarlin

    I just tried installing it via the demo installation script and it does work without issues with Drupal 11.0.4

    Demo folder + script: https://git.drupalcode.org/project/api/-/tree/2.x/demo

    $ ddev composer show | grep drupal
    ...
    drupal/api                               dev-2.x 27c5b55 Generates and displays API documentation pages
    drupal/core                              11.0.4          Drupal is an open source content management platform powering millions of websites and apply...
    ...
    

    I also tried with plain composer and again, it worked:

    composer create drupal/recommended-project
    composer require drush/drush
    composer require 'drupal/api:2.x-dev@dev' -W
    

    I committed a couple of minor changes to the demo script, but those weren't blocking.

    Can you paste all the commands that you are running from beginning to end so I can reproduce? Otherwise I recommend that you see the demo script which contains commands on how to set it all up.

  • Status changed to Closed: cannot reproduce 13 days ago
  • 🇮🇳India yasheshb

    hi. i was able to revisit this today and found a conflict with the following package
    nikic/php-parser

    $ composer why nikic/php-parser
    Do not run Composer as root/super user! See https://getcomposer.org/root for details
    Continue as root/super user [yes]?
    drupal/upgrade_status 4.3.6 requires nikic/php-parser (^4.0.0|^5.0.0)
    
    $ composer remove nikic/php-parser drupal/upgrade_status
    Do not run Composer as root/super user! See https://getcomposer.org/root for details
    Continue as root/super user [yes]?
    nikic/php-parser is not required in your composer.json and has not been removed
    ./composer.json has been updated
    Running composer update nikic/php-parser drupal/upgrade_status
    Loading composer repositories with package information
    Updating dependencies
    Lock file operations: 0 installs, 0 updates, 7 removals
      - Removing dekor/php-array-table (2.0)
      - Removing drupal/upgrade_status (4.3.6)
      - Removing mglaman/phpstan-drupal (1.2.12)
      - Removing nikic/php-parser (v5.3.1)
      - Removing phpstan/phpstan (1.11.11)
      - Removing phpstan/phpstan-deprecation-rules (1.2.0)
      - Removing webflo/drupal-finder (1.3.1)
    Writing lock file
    Installing dependencies from lock file (including require-dev)
    Package operations: 0 installs, 0 updates, 7 removals
      - Removing webflo/drupal-finder (1.3.1)
      - Removing phpstan/phpstan-deprecation-rules (1.2.0)
      - Removing phpstan/phpstan (1.11.11)
      - Removing nikic/php-parser (v5.3.1)
      - Removing mglaman/phpstan-drupal (1.2.12)
      - Removing drupal/upgrade_status (4.3.6)
      - Removing dekor/php-array-table (2.0)
    Deleting /opt/httpd/htdocs/staging/vlcored11/master/web/modules/contrib/upgrade_status - deleted
    Generating autoload files
    45 packages you are using are looking for funding.
    Use the `composer fund` command to find out more!
    No security vulnerability advisories found.
    

    after that the command $ composer require 'drupal/api:2.x-dev@dev' -W
    worked fine

    $ composer require 'drupal/api:2.x-dev@dev' -W
    Do not run Composer as root/super user! See https://getcomposer.org/root for details
    Continue as root/super user [yes]?
    ./composer.json has been updated
    Running composer update drupal/api --with-all-dependencies
    Loading composer repositories with package information
    Updating dependencies
    Lock file operations: 3 installs, 11 updates, 0 removals
      - Locking czproject/git-php (v4.3.0)
      - Upgrading doctrine/deprecations (1.1.3 => 1.1.4)
      - Locking drupal/api (dev-2.x ceeeeb0)
      - Locking nikic/php-parser (v4.19.4)
      - Upgrading symfony/dependency-injection (v7.1.8 => v7.1.9)
      - Upgrading symfony/deprecation-contracts (v3.5.0 => v3.5.1)
      - Upgrading symfony/event-dispatcher-contracts (v3.5.0 => v3.5.1)
      - Upgrading symfony/http-foundation (v7.1.8 => v7.1.9)
      - Upgrading symfony/http-kernel (v7.1.8 => v7.1.9)
      - Upgrading symfony/routing (v7.1.6 => v7.1.9)
      - Upgrading symfony/serializer (v7.1.8 => v7.1.9)
      - Upgrading symfony/service-contracts (v3.5.0 => v3.5.1)
      - Upgrading symfony/translation-contracts (v3.5.0 => v3.5.1)
      - Upgrading symfony/validator (v7.1.8 => v7.1.9)
    Writing lock file
    Installing dependencies from lock file (including require-dev)
    Package operations: 3 installs, 11 updates, 0 removals
      - Syncing drupal/api (dev-2.x ceeeeb0) into cache
      - Upgrading symfony/deprecation-contracts (v3.5.0 => v3.5.1): Extracting archive
      - Upgrading symfony/translation-contracts (v3.5.0 => v3.5.1): Extracting archive
      - Upgrading symfony/validator (v7.1.8 => v7.1.9): Extracting archive
      - Upgrading symfony/serializer (v7.1.8 => v7.1.9): Extracting archive
      - Upgrading symfony/routing (v7.1.6 => v7.1.9): Extracting archive
      - Upgrading symfony/http-foundation (v7.1.8 => v7.1.9): Extracting archive
      - Upgrading symfony/service-contracts (v3.5.0 => v3.5.1): Extracting archive
      - Upgrading symfony/event-dispatcher-contracts (v3.5.0 => v3.5.1): Extracting archive
      - Upgrading doctrine/deprecations (1.1.3 => 1.1.4): Extracting archive
      - Upgrading symfony/http-kernel (v7.1.8 => v7.1.9): Extracting archive
      - Upgrading symfony/dependency-injection (v7.1.8 => v7.1.9): Extracting archive
      - Installing nikic/php-parser (v4.19.4): Extracting archive
      - Installing czproject/git-php (v4.3.0): Extracting archive
      - Installing drupal/api (dev-2.x ceeeeb0): Cloning ceeeeb08f0 from cache
    Generating autoload files
    46 packages you are using are looking for funding.
    Use the `composer fund` command to find out more!
    No security vulnerability advisories found.
    
  • 🇪🇸Spain fjgarlin

    Thanks for reporting back. As drupal/upgrade_status is a external dependency that is not needed here, I think there is still nothing to do here.

Production build 0.71.5 2024