I've been using CiviCRM on Drupal 7 for many years, and it's time to upgrade my Drupal.

  • Drupal 8 went EOL November 2, 2021.
  • Drupal 9 goes EOL November 1, 2023, which is in 12 days.

So it looks like Drupal 10 should be the way to go.

I'm starting with a fresh Drupal installation (I have a very minimal website outside of CiviCRM), I don't really need to port any Drupal-level stuff over to the new site.

I went to the relevant installation page https://docs.civicrm.org/installation/en/latest/drupal/ , but the instructions there don't seem to support D10 yet (they ask for pull requests to write such instructions - wish I could help!).

I'm guessing I need to do something like:

cd /opt/my-dir
composer remove drush/drush  # Is this still necessary?
composer config extra.enable-patching true
composer config minimum-stability dev
composer require civicrm/civicrm-{core,packages,drupal-8}:'~5.55'  # Should this be drupal-10 now?
composer require 'drush/drush:12.*'

Does that all seem correct? CiviCRM 5.55 is my current version.

Once I've done this, what's the best procedure for importing all my data from my current installation? I see https://docs.civicrm.org/sysadmin/en/latest/misc/switch-servers/ but that also looks quite old, I'm not sure what's best practice.

UPDATE: I tried out this technique and I seem to have ended up with CiviCRM 5.66 installed, despite seeing the following in my composer.json file:

    "require": {
        "civicrm/civicrm-core": "~5.55",
        "civicrm/civicrm-drupal-8": "~5.55",
        "civicrm/civicrm-packages": "~5.55",

How can I keep version parity with the site I'm coming from?

1 Answer 1


Regarding the "update" section: perhaps you want to stick to a specific version of CiviCRM package: using Composer it should be like this (just drop the tilde):

 "require": {
    "civicrm/civicrm-core": "5.55",
    "civicrm/civicrm-drupal-8": "5.55",
    "civicrm/civicrm-packages": "5.55",

Check for instance this for tech details.

On the separate note: despite of D7 hard EOL announced, I'd stick with it for a bit longer its "expiration date", maybe a few years more. Per my experience, the current state of D8/9/10 and its CiviCRM counterpart doesn't quite worth an upgrade rush, to put it politely.

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.