Uncategorized

Enable, Update, and Manage Modules and Themes with Drush

Every Drupal site consists of many Drupal projects like modules and themes. Drush comes with a group of commands that aid in managing projects from the command line. These commands can check which modules are present in a site’s codebase, report their security status, enable modules, and display metadata for modules and themes. All of these commands start with the pm prefix, and are part of the project manager group.

Common use cases for the project manager commands include: quickly enabling/disabling modules via the CLI rather than performing numerous clicks in the UI, and as part of CI/CD process that lists (or maybe even automates) security updates.

In this tutorial we’ll:

  • List the available pm commands
  • Enable a module with Drush
  • Uninstall a module with Drush
  • Use Drush to check for security updates for modules, themes and PHP packages

By the end of this tutorial you’ll have an understanding of the project manager commands that come with Drush, how to use them, and how to speed up common workflows and maintenance tasks.

Goal

Introduce the Drush project manager suite of commands and possible applications for each command.

Prerequisites

Quick reference

The project manager group consists of the following commands:

  • pm:list – Shows a list of available extensions (modules and themes).
  • pm:enable – Enables one or more modules.
  • pm:security – Checks Drupal Composer packages for pending security updates.
  • pm:security-php – Checks non-Drupal PHP packages for pending security updates.
  • pm:uninstall – Uninstalls one or more modules and their dependent modules.

What is Drush project manager?

Drush comes with a suite of commands built around extension management — installation and removal of modules, module status and metadata, and lists. These commands are part of Drush, in the project manager group, and start with the pm prefix.

In the earlier versions of Drush, prior to Drupal’s adoption of Composer for dependency management, the list of pm commands was longer. As of Drupal 8 it’s recommended to use Composer for dependency management, therefore the list of pm commands has been reduced, removing some dependency management related commands. Older tutorials will often refer to the drush pm:download or drush dl command to download a contributed module from Drupal.org. You should now use composer require... instead.

Managing extensions with Composer is beneficial since it will not only load the extensions themselves but also their dependencies such as additional required libraries and packages. It also allows for easy patching and version management. If you want to learn more about managing your site with Composer, please refer to the Introduction to Composer for Drupal Users series.

Get a list of available extensions

The drush pm:list command allows you to see a list of all available extensions — modules and themes — on your site. The command allows passing in some options. One of the most useful options is --type. This allows you to filter the extension by its type: module or theme.

Run drush pm:list --type module to get a list of all the modules available on your site.

By default the command returns a list of all extensions, regardless of whether they are enabled or disabled. If you’d like to filter by status you can use the --status option that takes one of two available values: disabled or enabled.

Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff
Read Bluff

Related Articles

Leave a Reply

Back to top button