Updating from Varbase 8.x to 9.x

Read First Before Updating

Updating a Varbase SiteUnderstanding Varbase Updater Package

1. Change Composer Version Before Updating

Varbase 8.8.7 and Older

Make sure that Composer version ~1 is in use in the development environment.

sudo composer self-update --1
Updating Varbase to work with Composer 2.0

Remove the not Needed Drupal Library Installer Plugin

Remove "drupal/drupal-library-installer-plugin": "^0.3", from the composer.json file.

Varbase 8.8.8 and Newer

Make sure that Composer version ~2 is in use in the development environment.

sudo composer self-update --2

2. Add Drush

composer require "drush/drush:~10.0 || ~11.0"

3. Uninstall All Removed Components

A number of modules, themes, and libraries was removed from Varbase 9. That for Drupal 9 compatibility, or for change of selection to use better tools, and newer and better UI/UX themes.

Check that all used modules in the project are Drupal 9 Compatible!

Modules Had Been Removed

Make sure to clear cache and all functional behaviors are working well

drush cr

Themes Had Been Removed

Uninstall the Vartheme Admin Theme and the Adminimal - Responsive Administration Theme

Make sure to clear the cache and all functional behaviors are working well

drush cr

4. Check All Required Contrib Modules in the Project

Example Module: Webform Mautic

Projects may or may not use this module. If it was required and used, check the following in the project page.

In case the module was not compatible with Drupal 9 yet, Follow with issues and the maintainer to make the module have a Drupal 9 Compatibility.

5. Check All Custom Modules in the Project

6. Check All Required Libraries

7. Run the Update Varbase Command

bash ./bin/update-varbase.sh

Facing issues? Do the steps to do after the commands. next step.

8. Steps to Do After the Command

Do not abort the update process.

On the step of updating from Drupal ~8 to Drupal ~9, a number of duplicate key "services" detected in YamlSymfony.php and Parser.php.

Drupal 8 is using Symfony 3 and Drupal 9 is using Symfony 4

What changes are there for third-party dependencies?

It is better to remove the composer.lock and vendor/ folder. Then do a composer install

sudo rm -rf bin/ composer.lock vendor/ docroot/modules/contrib docroot/themes/contrib  docroot/profiles/varbase docroot/core ;
composer install -vvv

Run Database update number of times. Until no updates are needed.

drush updb
drush cr

9. Remove Drush Before Deployment to Production

Remember to remove Drush from the composer before deploying to the live site.

composer remove drush/drush

10. Set Composer Exit on Patch Failure to True

Please, DO NOT set the following in the composer.json for projects

    "composer-exit-on-patch-failure": false,

It should be

    "composer-exit-on-patch-failure": true,

On wanting to ignore any patch, please use patches-ignore

Have a look at Ignoring Patches a link for how to do this in the right way

Extending Varbase

If it was changed in any way or the Varbase Updater had it changed. Please change it back to

    "composer-exit-on-patch-failure": true,

It was sat true in the Vardot/varbase-project/composer.json for the following rezone.

If Varbase Layout Builder ~8.0 or ~9.0 were not Enabled in Old Sites

  • Only remove it from the root composer.json file for the project and do a composer update

  • The Varbase Layout Builder ~10.0 and all needed modules will be required in the default Varbase ~9.0 profile

  • Enable Varbase Layout Builder and Varbase Landing (Layout Builder) modules.

Last updated