I'm stuck on my efforts to upgrade my sites (I have 5 in total that I manage) from Drupal 9.5.10 to 10.1.1. I'm using PHP 8.1.8.
I'm following the instruction from https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-or-later/upgrading-a-composer-based-site.
Upgrade Status gives me two problems:
Dynamic Entity Reference: there is no version compatible with both 9.5.10 and 10 so I've followed the instructions in the same document mentioned above and edited my composer.json to have this line under "require" (originally it made reference only to "2.0@alpha"):
"drupal/dynamic_entity_reference": "^2.0@alpha || ^4.0@alpha",
CKEditor 5 Anchor: this is a custom module and the messages from upgrade status are shown below. Yet, from reading other articles, I'm disregarding them. Should I do something? This is the error:
PHPStan command failed:
/usr/local/bin/php /var/www/vendor/bin/phpstan analyse --memory-limit=1500M --error-format=json --configuration=/tmp/upgrade_status/deprecation_testing.neon /var/www/docroot/modules/custom/ckeditor5_anchor
Command output:
Empty.
Command error:
! [NOTE] No files found to analyse. [WARNING] This will cause a non-zero exit code in PHPStan 2.0.
This is my composer.json, after running the instructions in the documentation mentioned above, which updates the entries for drupal/core-xxx and drupal/recommended-project, as well as the change mentioned above for the Dynamic Entity Reference module:
{
"name": "rru/drupal",
"description": "Project template for Drupal 9 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": {
"drupal": {
"type": "composer",
"url": "https://packages.drupal.org/8"
},
"dropzone-js": {
"type": "package",
"package": {
"name": "dropzone/dropzone",
"version": "5.7.2",
"type": "drupal-library",
"dist": {
"type": "zip",
"url": "https://github.com/dropzone/dropzone/archive/v5.7.2.zip"
}
}
},
"jquery-ui-touch-punch": {
"type": "package",
"package": {
"name": "furf/jquery-ui-touch-punch",
"version": "1.0",
"type": "drupal-library",
"source": {
"url": "https://github.com/furf/jquery-ui-touch-punch.git",
"type": "git",
"reference": "master"
}
}
},
"ckeditor-fakeobjects": {
"type": "package",
"package": {
"name": "ckeditor/fakeobjects",
"version": "4.16",
"type": "drupal-library",
"dist": {
"type": "zip",
"url": "https://download.ckeditor.com/fakeobjects/releases/fakeobjects_4.16.0.zip"
}
}
},
"ckeditor-indent-block": {
"type": "package",
"package": {
"name": "ckeditor/indentblock",
"version": "4.15",
"type": "drupal-library",
"dist": {
"type": "zip",
"url": "https://download.ckeditor.com/indentblock/releases/indentblock_4.15.0.zip"
}
}
},
"ckeditor-link": {
"type": "package",
"package": {
"name": "ckeditor/link",
"version": "4.16",
"type": "drupal-library",
"dist": {
"type": "zip",
"url": "https://download.ckeditor.com/link/releases/link_4.16.0.zip"
}
}
},
"ckeditor-youtube": {
"type": "package",
"package": {
"name": "ckeditor/youtube",
"version": "2.1.18",
"type": "drupal-library",
"dist": {
"type": "zip",
"url": "https://download.ckeditor.com/youtube/releases/youtube_2.1.18.zip"
}
}
},
"ew-packagist": {
"type": "composer",
"url": "https://packagist.ewdev.ca",
"canonical": true
},
"asset-packagist": {
"type": "composer",
"url": "https://asset-packagist.org"
}
},
"replace": {
"drupal/ckeditor": "*"
},
"require": {
"acquia/blt": "^13.0",
"acquia/memcache-settings": "^1.1",
"behat/behat": "^3.8",
"behat/mink": "^1.8",
"behat/mink-extension": "^2.3",
"ckeditor/fakeobjects": "^4.16",
"ckeditor/indentblock": "^4.15",
"ckeditor/link": "^4.16",
"ckeditor/youtube": "^2.1",
"composer/installers": "^2.2",
"cweagans/composer-patches": "^1.7",
"dropzone/dropzone": "^5.7.2",
"drupal/acquia_purge": "^1.2",
"drupal/admin_toolbar": "^3.2",
"drupal/admin_toolbar_tools": "^3.0",
"drupal/administerusersbyrole": "^3.0",
"drupal/animated_gif": "^2.0",
"drupal/better_exposed_filters": "^6.0",
"drupal/chosen": "^4.0",
"drupal/clientside_validation": "^4.0",
"drupal/conditional_fields": "^4",
"drupal/config_filter": "^2.4",
"drupal/config_ignore": "^3.0@beta",
"drupal/config_split": "^2.0@RC",
"drupal/contact_emails": "^1.20",
"drupal/contact_storage": "^1.1",
"drupal/core-composer-scaffold": "^10",
"drupal/core-project-message": "^10",
"drupal/core-recommended": "^10",
"drupal/ctools": "^4.0",
"drupal/devel": "^5.1",
"drupal/diff": "^1.0",
"drupal/draggableviews": "^2.0",
"drupal/dropzonejs": "^2.5",
"drupal/drupal-extension": "^4.1",
"drupal/dynamic_entity_reference": "^2.0@alpha || ^4.0@alpha",
"drupal/easy_email": "^2.1@beta",
"drupal/editor_advanced_link": "^2.2",
"drupal/entity_browser": "^2.5",
"drupal/entity_usage": "^2.0@beta",
"drupal/field_group": "^3.1",
"drupal/file_delete": "^2.0",
"drupal/filter_perms": "^1.0@alpha",
"drupal/google_tag": "^2.0",
"drupal/honeypot": "^2.0",
"drupal/link_attributes": "^2.0",
"drupal/linkit": "^6.0@beta",
"drupal/mail_safety": "^2.0",
"drupal/mailsystem": "^4.3",
"drupal/maxlength": "^2.1",
"drupal/media_bulk_upload": "^3.0",
"drupal/media_entity_file_replace": "^1.0",
"drupal/memcache": "^2.3",
"drupal/menu_block": "^1.6",
"drupal/menu_breadcrumb": "^2.0@alpha",
"drupal/metatag": "^2.0",
"drupal/mimemail": "^1.0@alpha",
"drupal/node_edit_protection": "^1.0",
"drupal/node_title_help_text": "^1.2",
"drupal/onpoint_search": "^1.2",
"drupal/paragraphs": "^1.12",
"drupal/pathauto": "^1.8",
"drupal/rabbit_hole": "^2.0@alpha",
"drupal/recaptcha": "^3.0",
"drupal/recommended-project": "^10",
"drupal/redirect": "^1.6",
"drupal/scheduled_transitions": "^2.4@beta",
"drupal/seckit": "^2.0",
"drupal/sendgrid_integration": "^2.1",
"drupal/shield": "^1.6",
"drupal/simple_sitemap": "^4.1",
"drupal/stage_file_proxy": "^2.1",
"drupal/svg_image": "^3.0",
"drupal/swiftmailer": "^2.0",
"drupal/symfony_mailer": "^1.2",
"drupal/tablefield": "^2.2",
"drupal/token": "^1.9",
"drupal/twig_field_value": "^2.0",
"drupal/twig_tweak": "^3.0",
"drupal/ultimate_cron": "^2.0@alpha",
"drupal/upgrade_status": "^4.0",
"drupal/username_enumeration_prevention": "^1.2",
"drupal/views_bulk_operations": "^4",
"drupal/views_infinite_scroll": "^2.0",
"drupal/viewsreference": "^2.0@beta",
"drupal/webform": "^6.2@beta",
"drush/drush": "~11.0",
"evolvingweb/drupal-ci": "^1",
"furf/jquery-ui-touch-punch": "^1.0"
},
"conflict": {
"drupal/drupal": "*"
},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
"sort-packages": true,
"allow-plugins": {
"acquia/blt": true,
"composer/installers": true,
"cweagans/composer-patches": true,
"dealerdirect/phpcodesniffer-composer-installer": true,
"drupal/core-composer-scaffold": true,
"drupal/core-project-message": true,
"oomphinc/composer-installers-extender": true,
"phpstan/extension-installer": true
}
},
"extra": {
"enable-patching": true,
"patches": {
"drupal/tablefield": {
"enable rich text editor for table cell : https://www.drupal.org/project/tablefield/issues/3076448": "https://www.drupal.org/files/issues/2023-01-27/reroll_wysiwyg_support_3076448_30.patch",
"Fix for import csv": "./patches/tablefield/fix-csv-import-issue.patch"
},
"drupal/contact_storage": {
"get all options -including dynamic callback- instead of just static allowed_values": "./patches/contact_storage/options_allowed_values_function.patch",
"Undefined index notice": "https://www.drupal.org/files/issues/2021-01-12/3191567-9.patch"
},
"drupal/paragraphs": {
"https://www.drupal.org/project/paragraphs/issues/2973358#comment-13756793 ": "https://www.drupal.org/files/issues/2020-07-21/paragraphs-widget-ellipsis-title-2973358-4_1.patch"
},
"drupal/honeypot": {
"getProtectedForms returns null": "patches/fix-null-protected-forms.patch"
},
"drupal/file_delete": {
"#3115158 Add functionality to immediately delete files and override usage check": "https://www.drupal.org/files/issues/2022-10-10/3115158-instant-delete-25.patch"
},
"drupal/core": {
"CKEditor5 indent.IndentBlock plugin": "patches/core/core_ckeditor5_indent_block.patch"
},
"drupal/onpoint_search": {
"#3297757 Automated Drupal 10 compatibility fixes": "https://www.drupal.org/files/issues/2022-07-18/onpoint_search.1.2.5.rector.patch",
"Drupal 10 Info File fix": "./patches/onpoint_search/fix-d10-info-file.patch"
}
},
"drupal-scaffold": {
"locations": {
"web-root": "docroot/"
},
"file-mapping": {
"[web-root]/sites/development.services.yml": false,
"[web-root]/sites/default/default.services.yml": false,
"[web-root]/.htaccess": false
}
},
"installer-paths": {
"docroot/core": [
"type:drupal-core"
],
"docroot/libraries/{$name}": [
"type:drupal-library"
],
"docroot/libraries/ckeditor/plugins/{$name}": [
"type:drupal-ckeditor-plugin"
],
"docroot/modules/contrib/{$name}": [
"type:drupal-module"
],
"docroot/profiles/contrib/{$name}": [
"type:drupal-profile"
],
"docroot/themes/contrib/{$name}": [
"type:drupal-theme"
],
"drush/Commands/contrib/{$name}": [
"type:drupal-drush"
],
"docroot/modules/custom/{$name}": [
"type:drupal-custom-module"
],
"docroot/profiles/custom/{$name}": [
"type:drupal-custom-profile"
],
"docroot/themes/custom/{$name}": [
"type:drupal-custom-theme"
]
}
},
"require-dev": {
"kint-php/kint": "^5.0",
"kint-php/kint-twig": "^5.0",
"palantirnet/drupal-rector": "^0.15.1",
"rector/rector": "~0.15.2"
}
}
After following the instructions from the document I cited above, this is what I get when running composer update:
Gathering patches for root package.
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- drupal/core 8.0.0-beta6 requires doctrine/common dev-master#a45d110f71c323e29f41eb0696fa230e3fa1b1b5 -> found doctrine/common[dev-remove-int-cast, dev-deprec-proxy, 2.1.3, ..., 2.13.x-dev, 3.0.0, ..., 3.5.x-dev] but it does not match the constraint.
- drupal/core[8.0.0-beta13, ..., 8.0.0-beta15] require guzzlehttp/guzzle dev-master#1879fbe853b0c64d109e369c7aeff09849e62d1e -> found guzzlehttp/guzzle[v1.0.3, v1.0.4, v2.0.0, ..., v2.8.8, v3.0.0, ..., v3.8.1, 4.0.0-rc.1, ..., 4.x-dev, 5.0.0, ..., 5.3.x-dev, 6.0.0, ..., 6.5.x-dev, 7.0.0-beta.1, ..., 7.7.x-dev] but it does not match the constraint.
- drupal/core[8.9.11, ..., 8.9.x-dev] require php ^7.0.8 -> your php version (8.1.8) does not satisfy that requirement.
- drupal/core[9.0.10, ..., 9.0.x-dev] require php ^7.3 -> your php version (8.1.8) does not satisfy that requirement.
- rru/drupal is present at version dev-master and cannot be modified by Composer
- drupal/core-recommended 10.0.0-alpha7 requires drupal/core 10.0.0-alpha7 -> satisfiable by drupal/core[10.0.0-alpha7].
- Conclusion: don't install drupal/core 10.0.0-alpha7 (conflict analysis result)
- drupal/core-recommended 10.1.0-alpha1 requires drupal/core 10.1.0-alpha1 -> satisfiable by drupal/core[10.1.0-alpha1].
- Conclusion: don't install drupal/core 10.1.0-alpha1 (conflict analysis result)
- drupal/core-recommended 10.0.0-beta1 requires drupal/core 10.0.0-beta1 -> satisfiable by drupal/core[10.0.0-beta1].
- Conclusion: don't install drupal/core 10.0.0-beta1 (conflict analysis result)
- drupal/core-recommended 10.0.0-beta2 requires drupal/core 10.0.0-beta2 -> satisfiable by drupal/core[10.0.0-beta2].
- Conclusion: don't install drupal/core 10.0.0-beta2 (conflict analysis result)
- drupal/core-recommended 10.1.0-beta1 requires drupal/core 10.1.0-beta1 -> satisfiable by drupal/core[10.1.0-beta1].
- Conclusion: don't install drupal/core 10.1.0-beta1 (conflict analysis result)
- drupal/core-recommended 10.0.0-rc1 requires drupal/core 10.0.0-rc1 -> satisfiable by drupal/core[10.0.0-rc1].
- Conclusion: don't install drupal/core 10.0.0-rc1 (conflict analysis result)
- drupal/core-recommended 10.0.0-rc2 requires drupal/core 10.0.0-rc2 -> satisfiable by drupal/core[10.0.0-rc2].
- Conclusion: don't install drupal/core 10.0.0-rc2 (conflict analysis result)
- drupal/core-recommended 10.0.0-rc3 requires drupal/core 10.0.0-rc3 -> satisfiable by drupal/core[10.0.0-rc3].
- Conclusion: don't install drupal/core 10.0.0-rc3 (conflict analysis result)
- drupal/core-recommended 10.1.0-rc1 requires drupal/core 10.1.0-rc1 -> satisfiable by drupal/core[10.1.0-rc1].
- Conclusion: don't install drupal/core 10.1.0-rc1 (conflict analysis result)
- drupal/core-recommended 10.0.0 requires drupal/core 10.0.0 -> satisfiable by drupal/core[10.0.0].
- Conclusion: don't install drupal/core 10.0.0 (conflict analysis result)
- drupal/core-recommended 10.0.1 requires drupal/core 10.0.1 -> satisfiable by drupal/core[10.0.1].
- Conclusion: don't install drupal/core 10.0.1 (conflict analysis result)
- drupal/core-recommended 10.0.2 requires drupal/core 10.0.2 -> satisfiable by drupal/core[10.0.2].
- Conclusion: don't install drupal/core 10.0.2 (conflict analysis result)
- drupal/core-recommended 10.0.3 requires drupal/core 10.0.3 -> satisfiable by drupal/core[10.0.3].
- Conclusion: don't install drupal/core 10.0.3 (conflict analysis result)
- drupal/core-recommended 10.0.4 requires drupal/core 10.0.4 -> satisfiable by drupal/core[10.0.4].
- Conclusion: don't install drupal/core 10.0.4 (conflict analysis result)
- drupal/core-recommended 10.0.5 requires drupal/core 10.0.5 -> satisfiable by drupal/core[10.0.5].
- Conclusion: don't install drupal/core 10.0.5 (conflict analysis result)
- drupal/core-recommended 10.0.6 requires drupal/core 10.0.6 -> satisfiable by drupal/core[10.0.6].
- Conclusion: don't install drupal/core 10.0.6 (conflict analysis result)
- drupal/core-recommended 10.0.7 requires drupal/core 10.0.7 -> satisfiable by drupal/core[10.0.7].
- Conclusion: don't install drupal/core 10.0.7 (conflict analysis result)
- drupal/core-recommended 10.0.8 requires drupal/core 10.0.8 -> satisfiable by drupal/core[10.0.8].
- Conclusion: don't install drupal/core 10.0.8 (conflict analysis result)
- drupal/core-recommended 10.0.9 requires drupal/core 10.0.9 -> satisfiable by drupal/core[10.0.9].
- Conclusion: don't install drupal/core 10.0.9 (conflict analysis result)
- drupal/core-recommended 10.0.10 requires drupal/core 10.0.10 -> satisfiable by drupal/core[10.0.10].
- Conclusion: don't install drupal/core 10.0.10 (conflict analysis result)
- drupal/core-recommended 10.1.0 requires drupal/core 10.1.0 -> satisfiable by drupal/core[10.1.0].
- Conclusion: don't install drupal/core 10.1.0 (conflict analysis result)
- drupal/core-recommended 10.1.1 requires drupal/core 10.1.1 -> satisfiable by drupal/core[10.1.1].
- Conclusion: don't install drupal/core 10.1.1 (conflict analysis result)
- drupal/core-recommended 10.0.0-alpha6 requires drupal/core 10.0.0-alpha6 -> satisfiable by drupal/core[10.0.0-alpha6].
- drupal/core-recommended 10.0.0-alpha5 requires drupal/core 10.0.0-alpha5 -> satisfiable by drupal/core[10.0.0-alpha5].
- drupal/core-recommended 10.0.0-alpha4 requires drupal/core 10.0.0-alpha4 -> satisfiable by drupal/core[10.0.0-alpha4].
- drupal/core-recommended 10.0.0-alpha3 requires drupal/core 10.0.0-alpha3 -> satisfiable by drupal/core[10.0.0-alpha3].
- drupal/core-recommended 10.0.0-alpha2 requires drupal/core 10.0.0-alpha2 -> satisfiable by drupal/core[10.0.0-alpha2].
- drupal/core-recommended 10.0.0-alpha1 requires drupal/core 10.0.0-alpha1 -> satisfiable by drupal/core[10.0.0-alpha1].
- drupal/core[8.0.0-beta12, ..., 8.9.x-dev, 9.0.0-alpha1, ..., 9.4.3, 10.0.0-alpha1, ..., 10.0.0-alpha6] cannot be installed as that would require removing rru/drupal[dev-master]. They all replace drupal/ckeditor and thus cannot coexist.
- Root composer.json requires drupal/onpoint_search ^1.2 -> satisfiable by drupal/onpoint_search[1.2.0, ..., 1.2.5].
- drupal/core-recommended 10.1.x-dev requires drupal/core 10.1.x-dev -> satisfiable by drupal/core[10.1.x-dev].
- Conclusion: don't install drupal/core 10.1.x-dev (conflict analysis result)
- drupal/onpoint_search[1.2.0, ..., 1.2.5] require drupal/core ^8 || ^9 -> satisfiable by drupal/core[8.0.0-beta6, ..., 8.9.x-dev, 9.0.0-alpha1, ..., 9.5.x-dev].
- You can only install one version of a package, so only one of these can be installed: drupal/core[8.0.0-beta6, ..., 8.9.x-dev, 9.0.0-alpha1, ..., 9.5.x-dev, 10.0.0-alpha1, ..., 10.1.x-dev, 11.x-dev].
- You can only install one version of a package, so only one of these can be installed: drupal/core[8.7.0-alpha1, ..., 8.9.x-dev, 9.0.0-alpha1, ..., 9.5.x-dev, 10.0.0-alpha1, ..., 10.1.x-dev, 11.x-dev].
- drupal/core-recommended 10.0.x-dev requires drupal/core 10.0.x-dev -> satisfiable by drupal/core[10.0.x-dev].
- Root composer.json requires drupal/core-recommended ^10 -> satisfiable by drupal/core-recommended[10.0.0-alpha1, ..., 10.1.x-dev].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
From all those messages, a lot of lines about "older versions" (Drupal core 8, 9), and "satisfiable", which I'm disregarding. From the ones that are left, these are the ones I don't understand:
- rru/drupal is present at version dev-master and cannot be modified by Composer
- drupal/core[8.0.0-beta12, ..., 8.9.x-dev, 9.0.0-alpha1, ..., 9.4.3, 10.0.0-alpha1, ..., 10.0.0-alpha6] cannot be installed as that would require removing rru/drupal[dev-master]. They all replace drupal/ckeditor and thus cannot coexist.
Both lines mention "dev-master", which has references only in composer.lock. (I even deleted and recreated it and it's still there.)
Not sure what they mean or how to move forward from here.
Any help is appreciated.