With the official release only a few days away (June 3, 2020) and the Drupal 9 porting weekend having just completed with a big effort by KarinG (https://github.com/colemanw/webform_civicrm/pull/314), what is the status of CiviCRM working with Drupal 9?


Trying to upgrade a D8.8.6 site to D9 ->

karins-MBP:d9civicrm.local sysadmin$ composer require drupal/core-recommended:~9.0.0@dev drupal/core-composer-scaffold:~9.0.0@dev --update-with-dependencies --no-update
./composer.json has been updated
karins-MBP:d9civicrm.local sysadmin$ composer update

Found two issues:

symfony conflict -> Drupal 9 requires 4.4
civicrm/civicrm-core 5.25.0 requires symfony/dependency-injection ^2.8.50 || ~3.0

pear exception conflict: Can only install one of: pear/pear_exception[v1.0.1, v1.0.0]; - pear/log 1.13.1 requires pear/pear_exception 1.0.0 -> satisfiable by pear/pear_exception[v1.0.0].

WIP PR by Core Team -> to resolve the symfony conlict: https://github.com/civicrm/civicrm-core/pull/17380

And resolved!

This now works:

a) create a D8 project ->

composer create-project drupal/recommended-project d9civicrm.local

b) cd d9civicrm.local

c) composer require civicrm/civicrm-core:dev-master civicrm/civicrm-packages:dev-master civicrm/civicrm-drupal-8:dev-master civicrm/civicrm-asset-plugin:~1.0.1

Go through the usual motions of installing D8 in your favourite language, database and timezone -> and then enable CiviCRM Core [you will need to ensure your web/sites/default dir is writable for the civicrm.settings.php file to be generated].

d) then onto D9 ->

composer require pear/pear_exception:'1.0.1 as 1.0.0'

e) rm composer.lock

f) composer require drupal/core-recommended:^9.0 drupal/core-composer-scaffold:^9.0 drupal/core-project-message:^9.0 drupal/core-dev:^9.0 --update-with-all-dependencies

And that produces: enter image description here

Next step is here: https://github.com/civicrm/civicrm-drupal-8/pull/40/files [that will make CiviCRM installable as a D9 module].

Many more steps to go I'm sure! Thanks to Core Team and Mikey for their quick action on some of these items!

Update -> as of June 03 - 2020 -> webform_civicrm module is officially D9 Compatible:

enter image description here


As of CiviCRM version 5.31, Civi will work with Drupal 9. https://civicrm.org/blog/dev-team/civicrm-531-release

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.