- Issue created by @johnwt
- 🇬🇧United Kingdom longwave UK
composer why-not drupal/core 11.2.0
may explain the reason more clearly.In 📌 Deprecate TestDiscovery test file scanning, use PHPUnit API instead Active it appears that
core-recommended
bumped the major version ofsebastian/diff
, we did not catch this nor pick it up in the release notes- "sebastian/diff": "~5.1.1", + "sebastian/diff": "~6.0.2",
composer why-not drupal/core 11.2.0 drupal/core-recommended 11.2.0-rc2 requires drupal/core (11.2.0-rc2)
but the issue with
sebastian/diff
seems to be the problem. Is there a workaround?Try
composer why-not sebastian/diff "~6.0.2"
, and in addition, consider providing your composer.json file because it will be much easier for us to give a little support here.composer why-not sebastian/diff "~6.0.2"
drupal/core-recommended 11.2.0-rc2 requires sebastian/diff (~5.1.1) phpunit/phpunit 10.5.46 requires sebastian/diff (^5.1.1) sebastian/comparator 5.0.3 requires sebastian/diff (^5.0)
{ "name": "drupal/core", "description": "Drupal is an open source content management platform powering millions of websites and applications.", "type": "drupal-core", "license": "GPL-2.0-or-later", "require": { "ext-date": "*", "ext-dom": "*", "ext-filter": "*", "ext-gd": "*", "ext-hash": "*", "ext-json": "*", "ext-pcre": "*", "ext-PDO": "*", "ext-session": "*", "ext-SimpleXML": "*", "ext-SPL": "*", "ext-tokenizer": "*", "ext-xml": "*", "ext-zlib": "*", "php": ">=8.3.0", "symfony/console": "^7.3", "symfony/dependency-injection": "^7.3", "symfony/event-dispatcher": "^7.3", "symfony/filesystem": "^7.3", "symfony/finder": "^7.3", "symfony/http-foundation": "^7.3", "symfony/http-kernel": "^7.3", "symfony/mailer": "^7.3", "symfony/mime": "^7.3", "symfony/routing": "^7.3", "symfony/serializer": "^7.3", "symfony/validator": "^7.3", "symfony/process": "^7.3", "symfony/polyfill-iconv": "^1.32", "symfony/polyfill-php84": "^1.32", "symfony/yaml": "^7.3", "revolt/event-loop": "^1.0", "twig/twig": "^3.21.0", "doctrine/annotations": "^2.0", "doctrine/lexer": "^2.0", "guzzlehttp/guzzle": "^7.5", "guzzlehttp/psr7": "^2.4.5", "egulias/email-validator": "^3.2.1|^4.0", "masterminds/html5": "^2.7", "symfony/psr-http-message-bridge": "^7.3", "composer-runtime-api": "^2.1", "composer/semver": "^3.3", "asm89/stack-cors": "^2.3", "pear/archive_tar": "^1.4.14", "psr/log": "^3.0", "mck89/peast": "^1.14", "sebastian/diff": "^4 || ^5 || ^6 || ^7", "php-tuf/composer-stager": "^2.0" }, "conflict": { "drupal/automatic_updates": "<4", "drupal/project_browser": "<2.1", "drush/drush": "<12.4.3" }, "replace": { "drupal/core-annotation": "self.version", "drupal/core-assertion": "self.version", "drupal/core-class-finder": "self.version", "drupal/core-datetime": "self.version", "drupal/core-dependency-injection": "self.version", "drupal/core-diff": "self.version", "drupal/core-discovery": "self.version", "drupal/core-event-dispatcher": "self.version", "drupal/core-file-cache": "self.version", "drupal/core-file-security": "self.version", "drupal/core-filesystem": "self.version", "drupal/core-front-matter": "self.version", "drupal/core-gettext": "self.version", "drupal/core-graph": "self.version", "drupal/core-http-foundation": "self.version", "drupal/core-php-storage": "self.version", "drupal/core-plugin": "self.version", "drupal/core-proxy-builder": "self.version", "drupal/core-render": "self.version", "drupal/core-serialization": "self.version", "drupal/core-transliteration": "self.version", "drupal/core-utility": "self.version", "drupal/core-uuid": "self.version", "drupal/core-version": "self.version" }, "minimum-stability": "dev", "prefer-stable": true, "autoload": { "psr-4": { "Drupal\\Core\\": "lib/Drupal/Core", "Drupal\\Component\\": "lib/Drupal/Component" }, "classmap": [ "lib/Drupal.php", "lib/Drupal/Component/DependencyInjection/Container.php", "lib/Drupal/Component/DependencyInjection/PhpArrayContainer.php", "lib/Drupal/Component/FileCache/FileCacheFactory.php", "lib/Drupal/Component/Utility/Timer.php", "lib/Drupal/Component/Utility/Unicode.php", "lib/Drupal/Core/Cache/Cache.php", "lib/Drupal/Core/Cache/CacheBackendInterface.php", "lib/Drupal/Core/Cache/CacheTagsChecksumInterface.php", "lib/Drupal/Core/Cache/CacheTagsChecksumTrait.php", "lib/Drupal/Core/Cache/CacheTagsInvalidatorInterface.php", "lib/Drupal/Core/Cache/DatabaseBackend.php", "lib/Drupal/Core/Cache/DatabaseCacheTagsChecksum.php", "lib/Drupal/Core/Database/Connection.php", "lib/Drupal/Core/Database/Database.php", "lib/Drupal/Core/Database/StatementInterface.php", "lib/Drupal/Core/DependencyInjection/Container.php", "lib/Drupal/Core/DrupalKernel.php", "lib/Drupal/Core/DrupalKernelInterface.php", "lib/Drupal/Core/Installer/InstallerRedirectTrait.php", "lib/Drupal/Core/Site/Settings.php", "lib/Drupal/Component/Datetime/Time.php" ], "files": [ "includes/bootstrap.inc" ] }, "config": { "preferred-install": "dist" }, "suggest": { "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." }, "extra": { "drupal-scaffold": { "file-mapping": { "[project-root]/.editorconfig": "assets/scaffold/files/editorconfig", "[project-root]/.gitattributes": "assets/scaffold/files/gitattributes", "[project-root]/recipes/README.txt": "assets/scaffold/files/recipes.README.txt", "[web-root]/.csslintrc": "assets/scaffold/files/csslintrc", "[web-root]/.eslintignore": "assets/scaffold/files/eslintignore", "[web-root]/.eslintrc.json": "assets/scaffold/files/eslintrc.json", "[web-root]/.ht.router.php": "assets/scaffold/files/ht.router.php", "[web-root]/.htaccess": "assets/scaffold/files/htaccess", "[web-root]/example.gitignore": "assets/scaffold/files/example.gitignore", "[web-root]/index.php": "assets/scaffold/files/index.php", "[web-root]/INSTALL.txt": "assets/scaffold/files/drupal.INSTALL.txt", "[web-root]/README.md": "assets/scaffold/files/drupal.README.md", "[web-root]/robots.txt": "assets/scaffold/files/robots.txt", "[web-root]/update.php": "assets/scaffold/files/update.php", "[web-root]/sites/README.txt": "assets/scaffold/files/sites.README.txt", "[web-root]/sites/development.services.yml": "assets/scaffold/files/development.services.yml", "[web-root]/sites/example.settings.local.php": "assets/scaffold/files/example.settings.local.php", "[web-root]/sites/example.sites.php": "assets/scaffold/files/example.sites.php", "[web-root]/sites/default/default.services.yml": "assets/scaffold/files/default.services.yml", "[web-root]/sites/default/default.settings.php": "assets/scaffold/files/default.settings.php", "[web-root]/modules/README.txt": "assets/scaffold/files/modules.README.txt", "[web-root]/profiles/README.txt": "assets/scaffold/files/profiles.README.txt", "[web-root]/themes/README.txt": "assets/scaffold/files/themes.README.txt" } } }, "scripts": { "pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump" } }
- 🇺🇸United States mradcliffe USA
I was able to update to 11.2.0 from 11.1.8 yesterday, but ran into issues along the way because of my drupal/core-dev dev dependency being too strict (^11.1 rather than ^11).
Reviewing my shell history locally, I worked around the issue using
--no-update
with the require commands, removed the lock file, and then ran composer install again.@johnwt, I don' find phpunit/phpunit in that composer.json. Maybe there is a mismatch between composer.json and composer.lock on your site? Or is that not the root composer.json for your site?
Is that your site’s composer.json file or Drupal core’s? Let’s leave this as a support request for now.
Didn't mean to change the category.
phpunit appears a number of times in the lock file but not at all in the json file.@johnwt What we are looking for here is the composer.json file that is in the root of your project, which is the one you use to build the site.
This one: drupal/composer.json ?
{ "name": "drupal/recommended-project", "description": "Project template for Drupal projects with a relocated document root", "type": "project", "license": "GPL-2.0-or-later", "homepage": "https://www.drupal.org/project/drupal", "support": { "docs": "https://www.drupal.org/docs/user_guide/en/index.html", "chat": "https://www.drupal.org/node/314178" }, "repositories": [ { "type": "composer", "url": "https://packages.drupal.org/8" } ], "require": { "adci/full-name-parser": "^0.2.4", "audiolabs/bibtexparser": "^1.0", "caseyamcl/php-marc21": "^1.1", "composer/installers": "^2.3", "drupal/address": "^2.0", "drupal/allowed_formats": "^3.0", "drupal/backup_migrate": "^5.1", "drupal/better_exposed_filters": "^7.0", "drupal/book": "^2.0", "drupal/bootstrap5": "^4.0", "drupal/captcha": "^2.0", "drupal/collapsiblock": "^4.4", "drupal/composer_deploy": "^1.10", "drupal/conditional_fields": "^4.0@alpha", "drupal/core-composer-scaffold": "^11.2", "drupal/core-project-message": "^11.2", "drupal/core-recommended": "^11.1", "drupal/csp": "^2.2", "drupal/diff": "^2.0@beta", "drupal/draggableviews": "^2.1", "drupal/dxpr_theme": "^6.0", "drupal/dxpr_theme_helper": "^1.0", "drupal/dynamic_entity_reference": "^3.2", "drupal/entity": "^1.6", "drupal/entity_clone": "^2.1@beta", "drupal/entity_print": "^2.16", "drupal/entity_reference_revisions": "^1.12", "drupal/eu_cookie_compliance": "^1.26", "drupal/eva": "^3.1", "drupal/extlink": "^2.0", "drupal/field_formatter_class": "^1.8", "drupal/field_group": "^4.0", "drupal/flood_control": "^3.0", "drupal/forum": "1.0.2", "drupal/fullcalendar_view": "^5.2", "drupal/gdpr": "^3.1", "drupal/group": "^3.3", "drupal/imce": "^3.1", "drupal/jquery_ui": "^1.7", "drupal/jquery_ui_accordion": "^2.1", "drupal/jquery_ui_datepicker": "^2.1", "drupal/jquery_ui_slider": "^2.1", "drupal/jquery_ui_tabs": "^2.1", "drupal/jquery_ui_touch_punch": "^1.1", "drupal/libraries": "^4.0", "drupal/linkchecker": "^2.0", "drupal/login_destination": "^2.0@beta", "drupal/mailsystem": "^4.5", "drupal/metatag": "^2.1", "drupal/page_manager": "^4.0@RC", "drupal/paragraphs": "^1.19", "drupal/pathauto": "^1.13", "drupal/pdf_api": "^2.4", "drupal/plupload": "^2.2", "drupal/redirect": "^1.11", "drupal/registration": "^3.4", "drupal/search404": "^2.2@RC", "drupal/security_review": "^3.1", "drupal/shs": "^2.0", "drupal/simplenews": "^4.1", "drupal/site_verify": "^2.1", "drupal/smtp": "^1.4", "drupal/spambot": "^1.4", "drupal/spamspan": "^3.2", "drupal/superfish": "^1.13", "drupal/taxonomy_manager": "^2.0", "drupal/token": "^1.15", "drupal/update_config_entity": "^1.0", "drupal/upgrade_status": "^4.3", "drupal/user_register_notify": "^2.0@beta", "drupal/view_unpublished": "^1.3", "drupal/views_conditional": "^1.10", "drupal/views_slideshow": "^5.0", "drush/drush": "^13.3", "leongersen/nouislider": "^15.8", "seboettg/citeproc-php": "^2.6" }, "conflict": { "drupal/drupal": "*" }, "minimum-stability": "dev", "prefer-stable": true, "config": { "allow-plugins": { "composer/installers": true, "drupal/core-composer-scaffold": true, "drupal/core-project-message": true, "phpstan/extension-installer": true, "dealerdirect/phpcodesniffer-composer-installer": true, "php-http/discovery": true, "tbachert/spi": true }, "sort-packages": true }, "extra": { "drupal-scaffold": { "locations": { "web-root": "web/" }, "file-mapping": { "[web-root]/libraries/nouislider/nouislider.min.js": "vendor/leongersen/nouislider/dist/nouislider.min.js" } }, "installer-paths": { "web/core": [ "type:drupal-core" ], "web/libraries/{$name}": [ "type:drupal-library" ], "web/modules/contrib/{$name}": [ "type:drupal-module" ], "web/profiles/contrib/{$name}": [ "type:drupal-profile" ], "web/themes/contrib/{$name}": [ "type:drupal-theme" ], "drush/Commands/contrib/{$name}": [ "type:drupal-drush" ], "web/modules/custom/{$name}": [ "type:drupal-custom-module" ], "web/profiles/custom/{$name}": [ "type:drupal-custom-profile" ], "web/themes/custom/{$name}": [ "type:drupal-custom-theme" ] }, "drupal-core-project-message": { "include-keys": [ "homepage", "support" ], "post-create-project-cmd-message": [ "<bg=blue;fg=white> </>", "<bg=blue;fg=white> Congratulations, you’ve installed the Drupal codebase </>", "<bg=blue;fg=white> from the drupal/recommended-project template! </>", "<bg=blue;fg=white> </>", "", "<bg=yellow;fg=black>Next steps</>:", " * Install the site: https://www.drupal.org/docs/installing-drupal", " * Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html", " * Get support: https://www.drupal.org/support", " * Get involved with the Drupal community:", " https://www.drupal.org/getting-involved", " * Remove the plugin that prints this message:", " composer remove drupal/core-project-message" ] } }, "require-dev": { "drupal/core-dev": "11.1.1" } }
I haven't ran this file yet but are you aware of this pin?
"require-dev": { "drupal/core-dev": "11.1.1" }
Sort of, I tried to update by pinning to 11.2.0 which is when I got the sebastian/diff problem.
- 🇺🇸United States mradcliffe USA
This is what I run into with my comment in #8. If you don't want to edit composer.json, then
On a platform that meets the requirements,
composer require drupal/core-recommended:^11.2 drupal/core-composer-scaffold:^11.2 drupal/core-project-message:^11.2 --no-update composer require --dev drupal/core-dev:^11 --no-update rm composer.lock composer install
Or if you prefer pinned versions in composer.json for less risk (this is what I did yesterday and it updated fine),
composer require drupal/core-recommended:11.2.0 drupal/core-composer-scaffold:11.2.0 drupal/core-project-message:11.2.0 --no-update composer require --dev drupal/core-dev:^11 --no-update rm composer.lock composer install
Or if you want to use the composer.json you have above without running commands, change
drupal/core-dev: 11.1.1
todrupal/core-dev: ^11
, remove composer.lock, and runcomposer install
. - 🇬🇧United Kingdom longwave UK
When we upgraded to PHPUnit 11 we didn't spot the major version upgrade of sebastian/diff in drupal/core-recommended. I think we are confident that core works with both versions of the diff library so we could expand the constraints to allow both versions; this in turn means core-recommended users should be able to use both PHPUnit 10 and 11.
After lots of looking around the two problems, I have concluded the following. The first is
drupal/upgrade_status
which you will have to remove to proceed. The second is exactly what is said in comment #19.By only removing drupal/upgrade_status you can get here:
$ composer show "drupal/core*" -D drupal/core-composer-scaffold 11.2.0 A flexible Composer project scaffold builder. drupal/core-dev 11.2.0 require-dev dependencies from drupal/drupal; use in addition to drupal/core-reco... drupal/core-project-message 11.2.0 Adds a message after Composer installation. drupal/core-recommended 11.2.0-rc2 Core and its dependencies with known-compatible minor versions. Require this pro...
I seem to have managed to update to a pinned version of 11.2.0, thanks a lot each for your help.
I uninstalled then removed the drupal/upgrade_status
However, runningcomposer show "drupal/core*" -D
I got:drupal/core-composer-scaffold 11.2.0 A flexible Composer project scaffold builder. drupal/core-dev 11.1.1 require-dev dependencies from drupal/drupal; use in addition to drupal/core-recommended to run tests from drupal/core. drupal/core-project-message 11.2.0 Adds a message after Composer installation. drupal/core-recommended 11.2.0-rc2 Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.
So I tried:
composer require drupal/core-recommended:11.2.0 drupal/core-composer-scaffold:11.2.0 drupal/core-project-message:11.2.0 drupal/core-dev:11.2.0 --update-with-all-dependencies
And got:drupal/core-dev is currently present in the require-dev key and you ran the command without the --dev flag, which will move it to the require key. Do you want to move this requirement? [no]? Do you want to re-run the command with --dev? [yes]? ./composer.json has been updated Running composer update drupal/core-recommended drupal/core-composer-scaffold drupal/core-project-message drupal/core-dev --with-all-dependencies Loading composer repositories with package information Updating dependencies Lock file operations: 2 installs, 31 updates, 0 removals - Upgrading composer/composer (2.8.6 => 2.8.9) - Upgrading drupal/core (11.2.0-rc2 => 11.2.0) - Upgrading drupal/core-dev (11.1.1 => 11.2.0) - Upgrading drupal/core-recommended (11.2.0-rc2 => 11.2.0) - Upgrading justinrainbow/json-schema (5.3.0 => 6.4.2) - Locking marc-mabe/php-enum (v4.7.1) - Upgrading mglaman/phpstan-drupal (1.3.9 => 2.0.7) - Upgrading micheh/phpcs-gitlab (1.1.0 => 2.0.0) - Upgrading phpstan/phpstan (1.12.27 => 2.1.17) - Upgrading phpstan/phpstan-deprecation-rules (1.2.1 => 2.0.3) - Upgrading phpstan/phpstan-phpunit (1.4.2 => 2.0.6) - Upgrading phpunit/php-code-coverage (10.1.16 => 11.0.10) - Upgrading phpunit/php-file-iterator (4.1.0 => 5.1.0) - Upgrading phpunit/php-invoker (4.0.0 => 5.0.1) - Upgrading phpunit/php-text-template (3.0.1 => 4.0.1) - Upgrading phpunit/php-timer (6.0.0 => 7.0.1) - Upgrading phpunit/phpunit (10.5.47 => 11.5.24) - Upgrading sebastian/cli-parser (2.0.1 => 3.0.2) - Upgrading sebastian/code-unit (2.0.0 => 3.0.3) - Upgrading sebastian/code-unit-reverse-lookup (3.0.0 => 4.0.1) - Upgrading sebastian/comparator (5.0.3 => 6.3.1) - Upgrading sebastian/complexity (3.2.0 => 4.0.1) - Upgrading sebastian/diff (5.1.1 => 6.0.2) - Upgrading sebastian/environment (6.1.0 => 7.2.1) - Upgrading sebastian/exporter (5.1.2 => 6.3.0) - Upgrading sebastian/global-state (6.0.2 => 7.0.2) - Upgrading sebastian/lines-of-code (2.0.2 => 3.0.1) - Upgrading sebastian/object-enumerator (5.0.0 => 6.0.1) - Upgrading sebastian/object-reflector (3.0.0 => 4.0.1) - Upgrading sebastian/recursion-context (5.0.0 => 6.0.2) - Upgrading sebastian/type (4.0.0 => 5.1.2) - Upgrading sebastian/version (4.0.1 => 5.0.2) - Locking staabm/side-effects-detector (1.0.5) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 2 installs, 31 updates, 0 removals - Downloading sebastian/diff (6.0.2) - Downloading drupal/core (11.2.0) - Downloading staabm/side-effects-detector (1.0.5) - Downloading sebastian/version (5.0.2) - Downloading sebastian/type (5.1.2) - Downloading sebastian/recursion-context (6.0.2) - Downloading sebastian/object-reflector (4.0.1) - Downloading sebastian/object-enumerator (6.0.1) - Downloading sebastian/global-state (7.0.2) - Downloading sebastian/exporter (6.3.0) - Downloading sebastian/environment (7.2.1) - Downloading sebastian/comparator (6.3.1) - Downloading sebastian/code-unit (3.0.3) - Downloading sebastian/cli-parser (3.0.2) - Downloading phpunit/php-timer (7.0.1) - Downloading phpunit/php-text-template (4.0.1) - Downloading phpunit/php-invoker (5.0.1) - Downloading phpunit/php-file-iterator (5.1.0) - Downloading sebastian/lines-of-code (3.0.1) - Downloading sebastian/complexity (4.0.1) - Downloading sebastian/code-unit-reverse-lookup (4.0.1) - Downloading phpunit/php-code-coverage (11.0.10) - Downloading phpunit/phpunit (11.5.24) - Downloading phpstan/phpstan (2.1.17) - Downloading phpstan/phpstan-phpunit (2.0.6) - Downloading micheh/phpcs-gitlab (2.0.0) - Downloading phpstan/phpstan-deprecation-rules (2.0.3) - Downloading mglaman/phpstan-drupal (2.0.7) - Downloading marc-mabe/php-enum (v4.7.1) - Downloading justinrainbow/json-schema (6.4.2) - Downloading composer/composer (2.8.9) - Upgrading sebastian/diff (5.1.1 => 6.0.2): Extracting archive - Upgrading drupal/core (11.2.0-rc2 => 11.2.0): Extracting archive - Installing staabm/side-effects-detector (1.0.5): Extracting archive - Upgrading sebastian/version (4.0.1 => 5.0.2): Extracting archive - Upgrading sebastian/type (4.0.0 => 5.1.2): Extracting archive - Upgrading sebastian/recursion-context (5.0.0 => 6.0.2): Extracting archive - Upgrading sebastian/object-reflector (3.0.0 => 4.0.1): Extracting archive - Upgrading sebastian/object-enumerator (5.0.0 => 6.0.1): Extracting archive - Upgrading sebastian/global-state (6.0.2 => 7.0.2): Extracting archive - Upgrading sebastian/exporter (5.1.2 => 6.3.0): Extracting archive - Upgrading sebastian/environment (6.1.0 => 7.2.1): Extracting archive - Upgrading sebastian/comparator (5.0.3 => 6.3.1): Extracting archive - Upgrading sebastian/code-unit (2.0.0 => 3.0.3): Extracting archive - Upgrading sebastian/cli-parser (2.0.1 => 3.0.2): Extracting archive - Upgrading phpunit/php-timer (6.0.0 => 7.0.1): Extracting archive - Upgrading phpunit/php-text-template (3.0.1 => 4.0.1): Extracting archive - Upgrading phpunit/php-invoker (4.0.0 => 5.0.1): Extracting archive - Upgrading phpunit/php-file-iterator (4.1.0 => 5.1.0): Extracting archive - Upgrading sebastian/lines-of-code (2.0.2 => 3.0.1): Extracting archive - Upgrading sebastian/complexity (3.2.0 => 4.0.1): Extracting archive - Upgrading sebastian/code-unit-reverse-lookup (3.0.0 => 4.0.1): Extracting archive - Upgrading phpunit/php-code-coverage (10.1.16 => 11.0.10): Extracting archive - Upgrading phpunit/phpunit (10.5.47 => 11.5.24): Extracting archive - Upgrading phpstan/phpstan (1.12.27 => 2.1.17): Extracting archive - Upgrading phpstan/phpstan-phpunit (1.4.2 => 2.0.6): Extracting archive - Upgrading micheh/phpcs-gitlab (1.1.0 => 2.0.0): Extracting archive - Upgrading phpstan/phpstan-deprecation-rules (1.2.1 => 2.0.3): Extracting archive - Upgrading mglaman/phpstan-drupal (1.3.9 => 2.0.7): Extracting archive - Installing marc-mabe/php-enum (v4.7.1): Extracting archive - Upgrading justinrainbow/json-schema (5.3.0 => 6.4.2): Extracting archive - Upgrading composer/composer (2.8.6 => 2.8.9): Extracting archive - Upgrading drupal/core-dev (11.1.1 => 11.2.0) - Upgrading drupal/core-recommended (11.2.0-rc2 => 11.2.0)
You may have converted drupal/core-recommended and others to dev dependencies there by answering yes to “Do you want to re-run the command with --dev?”. Of the drupal/core* packages you directly updated only drupal/core-dev should be a dev dependency.
That’s something you can fix on your end.
Analyzing this one in relation to how Composer describes transitive dependencies in its error output was not straightforward. I expect some “I’m having this problem too” comments will follow.
Is any further support needed?
Thanks, hopefully no more support needed for this issue.
"That’s something you can fix on your end.", I don't really know how to or whether I need to, I am hoping everything will return to normal at the next update.- 🇳🇬Nigeria chike Nigeria
I also can't update my Drupal CMS site to 11.2.0. I ran this command a few minutes ago,
$ composer update "drupal/core-*" --with-all-dependencies Gathering patches for root package. Loading composer repositories with package information Updating dependencies Lock file operations: 0 installs, 22 updates, 0 removals - Upgrading drupal/core (11.1.6 => 11.1.8) - Upgrading drupal/core-composer-scaffold (11.1.6 => 11.2.0) - Upgrading drupal/core-project-message (11.1.6 => 11.2.0) - Upgrading drupal/core-recommended (11.1.6 => 11.1.8) - Upgrading symfony/console (v7.2.5 => v7.2.7) - Upgrading symfony/dependency-injection (v7.2.5 => v7.2.7) - Upgrading symfony/error-handler (v7.2.5 => v7.2.7) - Upgrading symfony/http-foundation (v7.2.5 => v7.2.7) - Upgrading symfony/http-kernel (v7.2.5 => v7.2.7) - Upgrading symfony/mailer (v7.2.3 => v7.2.6) - Upgrading symfony/mime (v7.2.4 => v7.2.6) - Upgrading symfony/polyfill-php80 (v1.31.0 => v1.32.0) - Upgrading symfony/polyfill-php81 (v1.31.0 => v1.32.0) - Upgrading symfony/polyfill-php83 (v1.31.0 => v1.32.0) - Upgrading symfony/polyfill-php84 (v1.31.0 => v1.32.0) - Upgrading symfony/serializer (v7.2.5 => v7.2.7) - Upgrading symfony/string (v7.2.0 => v7.2.6) - Upgrading symfony/translation (v7.2.4 => v7.3.0) - Upgrading symfony/validator (v7.2.5 => v7.2.7) - Upgrading symfony/var-dumper (v7.2.3 => v7.2.6) - Upgrading symfony/var-exporter (v7.2.5 => v7.2.7) - Upgrading symfony/yaml (v7.2.5 => v7.2.6) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 0 installs, 22 updates, 0 removals Gathering patches for root package. Gathering patches for dependencies. This might take a minute. - Upgrading drupal/core-composer-scaffold (11.1.6 => 11.2.0): Extracting archive - Upgrading drupal/core-project-message (11.1.6 => 11.2.0): Extracting archive - Upgrading symfony/polyfill-php84 (v1.31.0 => v1.32.0): Extracting archive - Upgrading symfony/string (v7.2.0 => v7.2.6): Extracting archive - Upgrading symfony/console (v7.2.5 => v7.2.7): Extracting archive - Upgrading symfony/polyfill-php81 (v1.31.0 => v1.32.0): Extracting archive - Upgrading symfony/yaml (v7.2.5 => v7.2.6): Extracting archive - Upgrading symfony/polyfill-php83 (v1.31.0 => v1.32.0): Extracting archive - Upgrading symfony/validator (v7.2.5 => v7.2.7): Extracting archive - Upgrading symfony/serializer (v7.2.5 => v7.2.7): Extracting archive - Upgrading symfony/http-foundation (v7.2.5 => v7.2.7): Extracting archive - Upgrading symfony/mime (v7.2.4 => v7.2.6): Extracting archive - Upgrading symfony/mailer (v7.2.3 => v7.2.6): Extracting archive - Upgrading symfony/var-dumper (v7.2.3 => v7.2.6): Extracting archive - Upgrading symfony/error-handler (v7.2.5 => v7.2.7): Extracting archive - Upgrading symfony/http-kernel (v7.2.5 => v7.2.7): Extracting archive - Upgrading symfony/var-exporter (v7.2.5 => v7.2.7): Extracting archive - Upgrading symfony/dependency-injection (v7.2.5 => v7.2.7): Extracting archive - Upgrading drupal/core (11.1.6 => 11.1.8): Extracting archive - Upgrading drupal/core-recommended (11.1.6 => 11.1.8) - Upgrading symfony/polyfill-php80 (v1.31.0 => v1.32.0): Extracting archive - Upgrading symfony/translation (v7.2.4 => v7.3.0): Extracting archive
Then I asked Composer why,
$ composer why-not drupal/core 11.2.0 drupal/core-recommended 11.1.8 requires drupal/core (11.1.8) drupal/gin 4.1.0 requires drupal/core (^10.3 || ^11 <11.2) drupal/gin_toolbar 2.1.0 requires drupal/core (^10 || ^11 <11.2) drupal/project_browser 2.0.0-beta2 requires drupal/core (^10.4 || ~11.0.0 || ~11.1.0) drupal/core 11.2.0 conflicts drupal/automatic_updates (<4) drupal/core 11.2.0 conflicts drupal/project_browser (<2.1) drupal/core 11.2.0 requires symfony/console (^7.3) drupal/cms 1.0.0 does not require symfony/console (but v7.2.7 is installed) drupal/core 11.2.0 requires symfony/dependency-injection (^7.3) drupal/cms 1.0.0 does not require symfony/dependency-injection (but v7.2.7 is installed) drupal/core 11.2.0 requires symfony/event-dispatcher (^7.3) drupal/cms 1.0.0 does not require symfony/event-dispatcher (but v7.2.0 is installed) drupal/core 11.2.0 requires symfony/filesystem (^7.3) drupal/cms 1.0.0 does not require symfony/filesystem (but v7.2.0 is installed) drupal/core 11.2.0 requires symfony/finder (^7.3) drupal/cms 1.0.0 does not require symfony/finder (but v7.2.2 is installed) drupal/core 11.2.0 requires symfony/http-foundation (^7.3) drupal/cms 1.0.0 does not require symfony/http-foundation (but v7.2.7 is installed) drupal/core 11.2.0 requires symfony/http-kernel (^7.3) drupal/cms 1.0.0 does not require symfony/http-kernel (but v7.2.7 is installed) drupal/core 11.2.0 requires symfony/mailer (^7.3) drupal/cms 1.0.0 does not require symfony/mailer (but v7.2.6 is installed) drupal/core 11.2.0 requires symfony/mime (^7.3) drupal/cms 1.0.0 does not require symfony/mime (but v7.2.6 is installed) drupal/core 11.2.0 requires symfony/routing (^7.3) drupal/cms 1.0.0 does not require symfony/routing (but v7.2.3 is installed) drupal/core 11.2.0 requires symfony/serializer (^7.3) drupal/cms 1.0.0 does not require symfony/serializer (but v7.2.7 is installed) drupal/core 11.2.0 requires symfony/validator (^7.3) drupal/cms 1.0.0 does not require symfony/validator (but v7.2.7 is installed) drupal/core 11.2.0 requires symfony/process (^7.3) drupal/cms 1.0.0 does not require symfony/process (but v7.2.5 is installed) drupal/core 11.2.0 requires symfony/polyfill-iconv (^1.32) drupal/cms 1.0.0 does not require symfony/polyfill-iconv (but v1.31.0 is installed) drupal/core 11.2.0 requires symfony/yaml (^7.3) drupal/cms 1.0.0 does not require symfony/yaml (but v7.2.6 is installed) drupal/core 11.2.0 requires twig/twig (^3.21.0) drupal/cms 1.0.0 does not require twig/twig (but v3.19.0 is installed) drupal/core 11.2.0 requires symfony/psr-http-message-bridge (^7.3) drupal/cms 1.0.0 does not require symfony/psr-http-message-bridge (but v7.2.0 is installed) drupal/core 11.2.0 requires asm89/stack-cors (^2.3) drupal/cms 1.0.0 does not require asm89/stack-cors (but v2.2.0 is installed) Not finding what you were looking for? Try calling `composer update "drupal/core:11.2.0" --dry-run` to get another view on the problem.
The first line of
why-not
explains at least one reason:drupal/gin 4.1.0 requires drupal/core (^10.3 || ^11 <11.2)
In that case, you need to upgrade drupal/gin to version 5 at the same time you upgrade Drupal Core. There may be other reasons so I suggest reading through the output thoroughly.
- 🇳🇬Nigeria chike Nigeria
How can I run
composer update "drupal/core-*" --with-all-dependencies
and at the same time move Gin from 4.1.0 to 5.0.2 which I believe will require acomposer require
command?Could you provide me a sample composer command to do this?
- 🇮🇹Italy kopeboy Milan
I also cannot update. All my modules are compatible (scanned with
upgrade_status
). I'm on DDEV with Drupal 10.5ddev composer update "drupal/core-*" --with-all-dependencies
returns: Nothing to install, update or removeddev composer require drupal/core-recommended:11.2.0 drupal/core-composer-scaffold:11.2.0 drupal/core-project-message:11.2.0 --update-with-all-dependencies
returns drupal/core-recommended 11.2.0 requires symfony/console ~v7.3.0 -> found symfony/console[v7.3.0-BETA1, ..., 7.3.x-dev] but these were not loaded, likely because it conflicts with another require., butddev composer why-not drupal/core 11.2.0
returns nonsense, likedrupal/core 11.2.0 requires symfony/console (^7.3) drupal/recommended-project - does not require symfony/console (but v6.4.22 is installed)
and similarly
composer update "drupal/core:11.2.0" --dry-run
only cites problems contrib modules which actually support ^11 🤷🏻♂️Regarding #22: how can we check if we
may have converted drupal/core-recommended and others to dev dependencies there by answering yes to “Do you want to re-run the command with --dev?”
I don't remember that; I installed with DDEV Quickstart (leading to 10.4) and used suggested composer commands on d.org to update to each Drupal 10 release until 10.5
Attaching my composer.json as txt (since we can't upload .json files).
- 🇺🇸United States phenaproxima Massachusetts
@chike:
Could you provide me a sample composer command to do this?
Try just
composer update --with-all-dependencies
. Let it update everything, not just core. If you feel that's too risky, you can allow it to also update Gin, Project Browser, and Automatic Updates -- all of which broke compatibility with Drupal 11.1 and earlier:composer update "drupal/core*" drupal/automatic_updates drupal/gin drupal/project_browser --with-all-dependencies
I also strongly recommend you set up recipe unpacking, if you haven't already, before you do this -- just to take the recipes out of the dependency solving equation. Doing that is documented in the Drupal CMS release notes → (see "How to update an existing project to Drupal 11.2").
- 🇳🇬Nigeria chike Nigeria
Thanks @phenaproxima
I first set up recipe unpacking and the command you provided updated the site to 11.2.0. That is the command,
composer update "drupal/core*" drupal/automatic_updates "drupal/gin*" drupal/project_browser --with-all-dependencies
- 🇺🇸United States phenaproxima Massachusetts
Were you successful? Or did you continue to get the error you described in #25?
- 🇳🇬Nigeria chike Nigeria
It was successful without any errors.
Maybe I should mention that before your comment at #29 I had tried the command
composer update "drupal/core-*" drupal/gin drupal/automatic_updates drupal/project_browser --with-all-dependencies
which didn't work. I failed to include gin_toolbar in the attempt. I tried this before my comment at #27.Now after setting up recipe unpacking, the command you provided worked successfully. So I am not sure if my prior attempt that didn't include gin_toolbar would have worked if I had included it, or it is recipe unpacking that made it to work.
- 🇳🇬Nigeria chike Nigeria
I tried with a different Drupal CMS site. So I first set up recipe unpacking and ran
composer update "drupal/core-*" --with-all-dependencies
and it updated to 11.1.8.I had to run
composer update "drupal/core*" drupal/automatic_updates "drupal/gin*" drupal/project_browser --with-all-dependencies
to get it to 11.2.0. - 🇺🇸United States xjm
Just a heads up that some of these reports, at least for the pinned dev dependencies metapackage or sites that use core's dev deps, might be due to an overly aggressive bump of
sebastian/diff
from v5 to v6 and the PHPUnit bump form 10 to 11. @longwave suggested that we might want to try opening up both these constraints and switching one of our daily or weekly testing jobs so that we still test on the lower version of PHPUnit.#33 is a helpful suggestion for other site owners; thanks @chike.