S Drushem jsem se potkal u Drupalu 7, a rychle se stal neocenitelným pomocníkem. Veškeré operace jsou vždy mnohem rychlejší v příkazovém řádku, než přes webový prohlížeč. Ať již jednoduchá změna proměnné (drush vset) nebo reindexace SOLRu. Takové věci uměl Drush v základu, popř. tvůrci modulů mohli integrovat Drush operace.
Drush
Drush existuje v několika verzích, pro různé verze Drupalu, potažmo PHP. Rozhodně navštivte stránku s instalací http://docs.drush.org/en/master/install/, kde najdete vše potřebné.
Jak vidno, Drush 9 podporuje jen Drupal od verze 8.4. Zároveň je tu i poznámka:
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.
Takže pozor na to! Na internetu najdete spoustu návodů na Drush/Drupal, které už prostě nebudou fungovat.
Instalace
Jak již bylo zmíněno, nyní existuje jen jediná správní cesta. Takže ideálně přes drupal-project https://github.com/drupal-composer/drupal-project
Pak už bude Drush součástí této instalace - adresář vendor/drush/ (vendor/bin/drush).
Drush Launcher
Opět, jak je uvedené v dokumentaci, je dobré nainstalovat si tzv. Drush Launcher. Je to vlastně wrapper. Díky němu nebudete muset zadávat plnou cestu ke skriptu, a také vždy zavolá ten správný drush v daném Drupal projektu.
Instalace je snadná a dobře popsaná na stránce projektu https://github.com/drush-ops/drush-launcher.
Mně se osvědčilo vytvořit přejmenovat si ho na drush9 (/usr/local/bin/drush9). Potom tam můžu mít třeba ještě starší drush8 na správu projektů postavených na Drupal 7.
Drupal Console
Podobný nástroj, podobné využití. Jeho výhodou i nevýhodou zároveň může být, že je nový. Čas ukáže.
Instalace
Podobně jako Drush, Drupal Console je již součástí drupal-project. Takže zkontrolujte opět adresář vendor/drupal/ (resp. vendor/bin/drupal).
Drupal Console Launcher
I Drupal Console má vlastní launcher, stejně snadno instalovatelný https://drupalconsole.com/docs/en/getting/launcher
Poznámky z používání
- Drupal Console se hodí generování struktury nového modulu drupal generate
- Klasika - update databáze a vymazání cache drush9 updatedb && drush9 cr
Instalace modulů
drush pm:enable simplei skončí chybovou hláškou, že modul neexistuje (starší Drush 8 ho stáhnul, když neexistoval). drupal module:install simplei ho sice stáhne a nainstaluje, ale úplně ignoruje fakt, že používáme Composer. Takže taky špatně.
Ideálně tedy nainstalovat přes Composer composer require 'drupal/simplei:^1.0' a pak povolit přes Drush.
Aktualizace modulů
drush pm:security nic nenajde, ale composer outdated 'drupal/*' ano