Updated almost 5 years ago by Jack Aponte
An important note: we no longer need to install any version of Drush except Drush 8, since that now supports Drupal 6, 7, <8.3 and Backdrop.
I've followed the "Install a global Drush via Composer" instructions under in the Drush 8 alternative installation documentation.
Since running composer install
as root is a security risk, you can use commands like these to install Drush in your home directory first, then move it to a globally-accessible location using sudo
:
cd ~ COMPOSER_HOME=$HOME/drush COMPOSER_VENDOR_DIR=$HOME/drush/8 composer require drush/drush:8.2.3 cd ~/drush/8/drush/drush composer install sudo mv ~/drush /opt/ sudo ln -s /opt/drush/8/drush/drush/drush /usr/local/bin/drush
If you must run composer install
and the other commands above as root, e.g. if that's the only user we have access to on the server, you can do so by changing the COMPOSER_HOME
and COMPOSER_VENDOR_DIR
paths to /opt/drush
and /opt/drush/8
, respectively.
Replace "8.2.3" (last updated in this documentation on 5/28/19) with the tag of the most recent stable 8.x release (see https://github.com/drush-ops/drush/releases)
Use the same commands with a new version number to update Drush as needed.
Primarily drawn from this MFPL ticket; thanks Ivan!
First, install Composer following these instructions.
Then to install Drush:
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bashrc source ~/.bashrc cd ~/<organization.org>/bin php composer.phar global require drush/drush:8.2.3 which drush
Note that sometimes cgi-bin
is present on MF/PL sites instead of bin
.
If using Drush aliases, you may need to specify the new Drush installation in the shared aliases.drushrc.php
file or a local aliases file. Here's an example:
$aliases['organization'] = array( 'remote-host' => 'organization.org', 'remote-user' => 'organization', 'root' => '/home/members/organization/sites/organization.org/web', 'uri' => 'organization.org', 'path-aliases' => array( '%drush-script' => '/home/members/organization/sites/organization.org/users/organization/.composer/vendor/bin/drush', '%dump-dir' => '~/drush-backups', '%files' => '/home/members/organization/sites/organization.org/web/sites/default/files',), );
In order for Drush to work with Backdrop, you must install the Drush Backdrop commands within the Drush 8 installation itself.
Assuming that Drush 8 is installed in /opt/drush/8/drush/drush
, as specified above:
sudo git clone https://github.com/backdrop-contrib/drush.git /opt/drush/8/drush/drush/commands/backdrop
To update Drush Backdrop commands installed like this:
cd /opt/drush/8/drush/drush/commands/backdrop sudo git pull origin