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?


3 Answers 3


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

  • latest from Chat: chat.civicrm.org/civicrm/pl/d71dtacth7n97buncexo8jc8dr
    – petednz - fuzion
    May 28, 2020 at 19:35
  • I'm sure there will be bumps ahead [possible breaking changes in webform module itself] - but we're close to where we can be at this point. May 28, 2020 at 20:57
  • do you want to update the answer with what you had pasted in CHat?
    – petednz - fuzion
    May 29, 2020 at 0:43
  • Ok done - also included the most recent acquia report - clean slate now! Jun 5, 2020 at 16:33
  • In step a) the title should be " create a D9 project or latest Drupal" because that composer command will install whatever the latest version is at the time
    – salah-1
    Oct 31, 2021 at 15:45

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


There's now a proposal to begin to phase out support for drupal 9 at 3-6 months after drupal 11 is released: https://lab.civicrm.org/dev/drupal/-/issues/198

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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