Ошибки Drush в Drupal 8 и как их лечить
Если вы работаете с Drupal и видите ошибки при выполнении Drush команд похожие на эту:
PHP Fatal error: Declaration of Drush\Command\DrushInputAdapter::hasParameterOption() must be compatible with Symfony\Component\Console\Input\InputInterface::hasParameterOption($values, $onlyParams = false) in /Applications/DevDesktop/tools/vendor/drush/drush/lib/Drush/Command/DrushInputAdapter.php on line 27 Fatal error: Declaration of Drush\Command\DrushInputAdapter::hasParameterOption() must be compatible with Symfony\Component\Console\Input\InputInterface::hasParameterOption($values, $onlyParams = false) in /Applications/DevDesktop/tools/vendor/drush/drush/lib/Drush/Command/DrushInputAdapter.php on line 27 Drush command terminated abnormally due to an unrecoverable error. [error] Error: Declaration of Drush\Command\DrushInputAdapter::hasParameterOption() must be compatible with Symfony\Component\Console\Input\InputInterface::hasParameterOption($values, $onlyParams = false) in /Applications/DevDesktop/tools/vendor/drush/drush/lib/Drush/Command/DrushInputAdapter.php, line 27
Причиной является то, что в Drupal minor релизе (8.4.х) компоненты Symfony были обновлены до версии 3.2.
Это вызывает конфликт, который исправляется обновлением Drush до версии 9. Для этого нужно выполнить следующую команду:
composer require drush/drush:9.*