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?
2 Answers
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
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:
-
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-1Oct 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