Install/Upgrade a global Drush
# Browse to https://github.com/drush-ops/drush/releases and download the drush.phar attached to the latest 8.x release. # Test your install. php drush.phar core-status # Rename to `drush` instead of `php drush.phar`. Destination can be anywhere on $PATH. chmod +x drush.phar sudo mv drush.phar /usr/local/bin/drush # Optional. Enrich the bash startup file with completion and aliases. drush init
- MAMP users, and anyone wishing to launch a non-default PHP, needs to edit ~/.bashrc so that the right PHP is in your $PATH.
- We have documented alternative ways to install, including Windows.
- If you need to pass custom php.ini values, run
php -d foo=bar drush.phar --php-options=foo=bar
- Your shell now has useful bash aliases and tab completion for command names, site aliases, options, and arguments.
- A drushrc.php has been copied to ~/.drush above. Customize it to save typing and standardize options for commands.
- Upgrade using this same procedure.
Install a site-local Drush
In addition to the global Drush, it is recommended that Drupal 8 sites be built using Composer, with Drush listed as a dependency.
- When you run
drush, the global Drush is called first and then hands execution to the site-local Drush. This gives you the convenience of running
drushwithout specifying the full path to the executable, without sacrificing the safety provided by a site-local Drush.
- Optional: Copy the examples/drush.wrapper file to your project root and modify to taste. This is a handy launcher script; add --local here to turn off all global configuration locations, and maintain consistency over configuration/aliases/commandfiles for your team.
- Note that if you have multiple Drupal sites on your system, it is possible to use a different version of Drush with each one.
Drush 9 only supports one install method. It requires that your Drupal 8 site be built with Composer and Drush be listed as a dependency. See the [Drush 8 docs](http://docs.drush.org/en/8.x) for installing prior versions of Drush.
Install a site-local Drush and Drush Launcher.
- It is recommended that Drupal 8 sites be built using Composer, with Drush listed as a dependency. That project already includes Drush in its composer.json. If your Composer project doesn't yet depend on Drush, run
composer require drush/drushto add it.
- To be able to call
drushfrom anywhere, install the Drush Launcher. That is a small program which listens on your $PATH and hands control to a site-local Drush that is in the /vendor directory of your Composer project. If you skip this step, run Drush from Drupal root via
../vendor/bin/drush. In that case Drush's bash integration and custom prompt won't work.
drush init. This edits ~/.bashrc so that Drush's custom prompt and bash integration are active.
- See Usage for details on using Drush.
- To use a non-default PHP, edit ~/.bashrc so that the desired PHP is in front of your $PATH. If that is not desirable, you can change your PATH for just one request:
PATH=/path/to/php:$PATHdrush status ...`
Drush 9 cannot run commandfiles from Drush 8 and below (e.g. example.drush.inc). See our [guide on porting commandfiles](https://weitzman.github.io/blog/port-to-drush9). Also note that alias and config files use a new .yml format in Drush 9.
|Drush Version||Drush Branch||PHP||Compatible Drupal versions||Code Style||Isolation Tests||Functional Tests|
|Drush 8||8.x||5.4.5+||D6, D7, D8.3-||-|
|Drush 7||7.x||5.3.0+||D6, D7||Unsupported|
|Drush 6||6.x||5.3.0+||D6, D7||Unsupported|
|Drush 5||5.x||5.2.0+||D6, D7||Unsupported|