How to Install Drush on Debian 10

Select distribution:
Traducciones al Español
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Create a Linode account to try this guide with a $ credit.
This credit will be applied to any valid services used during your first  days.

Drush is a command line tool for creating, administrating, and modifying Drupal websites. Command line tools, like Drush, add functionality through additional command packages. Once installed, Drush is as easy to use as any of the basic Linux commands. The name comes from combining the words Drupal and shell. Drush is designed only for Drupal and cannot be used with other content management systems.

Both new and experienced Drupal users can benefit from learning Drush. Users that have worked with a command line interface before have an advantage, but Drush is an excellent application for beginners, too.

Before You Begin

Before installing Drush, ensure that the following prerequisites have been met:

  1. If you have not already done so, create a Linode account and Compute Instance. See our Getting Started with Linode and Creating a Compute Instance guides.

  2. Follow our Setting Up and Securing a Compute Instance guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access.

  3. Install and configure a LAMP stack on Debian 10

Note
This guide is written for a non-root user. Commands that require elevated privileges are prefixed with sudo. If you’re not familiar with the sudo command, you can check our Users and Groups guide.

Install Git & Composer

The developers of Drush recommend installing Drush using Composer, a PHP dependency manager. Since the Drush project is hosted on GitHub and controlled with Git, you will also need to install Git. In this section, you will install both dependencies.

  1. Install Git:

    sudo apt-get install git
    
  2. Install Composer:

    curl -sS https://getcomposer.org/installer | php
    
  3. Move the composer.phar file to /usr/local/bin/, so that it can be accessed from any directory:

    sudo mv composer.phar /usr/local/bin/composer
    
  4. Composer has a few PHP dependencies it needs in order to run. Install them on your Debian system:

     sudo apt install php-dom php-zip unzip php-gd php-mbstring
    

Install Drush Globally

Composer is designed to install PHP dependencies on a per-project basis. The steps below will install a global Drush for all projects. If you want to install Drush for a specific system user, skip to the Install Drush for a Limited User Account section.

  1. Create a symbolic link between Composer’s local bin directory, /usr/local/bin/composer, and the system’s bin directory, /usr/bin/:

    sudo ln -s /usr/local/bin/composer /usr/bin/composer
    
  2. Use Git to download - or clone - the GitHub Drush project into a new directory, /usr/local/src/drush:

    sudo git clone https://github.com/drush-ops/drush.git /usr/local/src/drush
    
  3. Update the ownership of your new Drush directory to be your limited user account:

     sudo chown example_user:example_user -R /usr/local/src/drush
    
  4. Change the working directory to your new Drush directory:

    cd /usr/local/src/drush
    
  5. Use Git to checkout the version of Drush that you wish to use. View the GitHub project’s releases page to view all available versions.

    For a different release, replace the version number, 10.2.2, in the following command:

    sudo git checkout 10.2.2
    
  6. Create a symbolic link between the Drush directory in /usr/local/src to /usr/bin, so that the Drush command can be called from any directory:

    sudo ln -s /usr/local/src/drush/drush /usr/bin/drush
    
  7. Now, run the Composer install command:

    composer install
    
  8. Drush has now been installed for all users on your Linode. To verify the installation, check Drush’s version number.

    drush --version
    

    You should see a similar output:

    Drush Commandline Tool 10.2.2
        

Install Drush for a Limited User Account

You may want to install Drush for only certain system users, for example, the site admin or the Apache webserver. This option may be optimal for a shared-hosting environment. Also, this allows individual users to install different versions of Drush and even install separate versions specific to a single project. Ensure you run the commands from the limited user account’s home directory. Before you complete this section, ensure you have completed the steps in the Install Git & Composer section of the guide.

  1. Install Drush using Composer:

    composer require drush/drush
    

    This will install Drush in your ~/vendor/bin/drush directory.

  2. Using the text editor of your choice, edit the user’s .bashrc file to add the vendor directory to your path:

    File: ~/.bashrc
    1
    2
    
    export PATH="$HOME/vendor/bin:$PATH"
          
  3. Run the source command on the .bashrc file to enable the changes:

    source ~/.bashrc
    
  4. Check to see that Drush was installed successfully:

     drush --version
    
    Note
    You can install the Drush Launcher, a utility to be able to call Drush globally. This program listens on your $PATH and hands control to a site-local Drush that is in the ~/vendor directory.

Using Drush

Drush has dozens of commands with hundreds of options. Drush can interface with MySQL, Drupal, Git, and more. Below are a few examples of some useful Drush commands to get you started. Refer to the Drush Commands documentation for more details.

  1. To get started with Drush, run it without any following commands to list the help manual:

     drush
    
  2. View more detailed documentation for a specific command by typing drush help and then the command, for example:

     drush help site-install
    
  3. List many of the specs for your server and website with:

     drush status
    

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

This page was originally published on


Your Feedback Is Important

Let us know if this guide was helpful to you.


Join the conversation.
Read other comments or post your own below. Comments must be respectful, constructive, and relevant to the topic of the guide. Do not post external links or advertisements. Before posting, consider if your comment would be better addressed by contacting our Support team or asking on our Community Site.