Problem/Motivation
Drush 12 removes the queue.commands service, which is used in warmer/drush.services.yml. Because of this, drush breaks when a site has warmer installed because it can't find the service class.
Steps to reproduce
Install drush 12 on a site with warmer. Run a drush command like cr.
Error:
In LegacyServiceInstantiator.php line 282:
You have requested a non-existent parameter "queue.commands".
Proposed resolution
Replace drush service with use of $this->processManager()->drush().
Remaining tasks
Review patch
Comments
Comment #4
e0ipsoI tried to modernize the dependency injection and failed. Sorry for messing with your MR @mortona2k.
Comment #6
wellsComment #7
selwynpolit commentedI downgraded drush to version 11 for now and permitted me to run the drush commands I needed for my d9-d10 upgrade.
Comment #9
e0ipsoI tested this with Drush 12 and Drush 11.
Comment #11
e0ipsoComment #12
afi13 commentedIt looks like the drush command doesn't implement the SiteAliasManagerAwareInterface, so I got the following error
It's related to this line
$this->siteAliasManager() is empty because dependency is not passed
Fixed in the patch
Comment #13
wellsIn Drush 11 I'm also getting a similar exception. Patch in #12 fixes the issue.
Comment #14
jonblatho commentedCan we please get a fresh release with this patch merged? Drupal 10.2.x requires Drush 12 or later, and this issue is the only thing blocking us from upgrading.
Comment #15
joseph.olstadI have contacted the maintainers and have politely asked for action.
Comment #17
e0ipsoI don't have any D10 site running with Warmer. This looks like it should fix the issue. I will give this a go.
Comment #20
oscarclement commented@e0ipso This issue exists even in the latest version of warmer (2.0.13). @jonblatho were you able to find a way around the issue?
Comment #21
jonblatho commented@oscarclement: Sorry for the delayed response. We pushed production updates this week with Warmer 2.0.13, Drush 12.5, and Drupal 10.2.x without any apparent issues. Is the error output identical to that mentioned in the original issue?
Comment #22
amjad1233I am getting same issue on Drupal 13. Turning off warmer for now.
Comment #23
flyke commentedSame error here on Drupal 10.3.5 with Drush 13.2.0 and warmer 2.0.11.
Its impossible to use warmer 2.0.12 or 2.0.13 or 2.x because those versions dont work with drush^13.
The MR and patch #12 cannot not apply, but the changes are also not present in the code. For example:
WarmerCommands.php line 19 is:
class WarmerCommands extends DrushCommands {Instead of:
class WarmerCommands extends DrushCommands implements SiteAliasManagerAwareInterface {For now I had to remove the module for all my projects in order to have them updated to Drush 13.
Comment #24
flyke commentedAdded issue #3467609 (drush 13 compatibility) as related because I think removing the drush version altogether as dependency is the way to go.
Comment #25
maxilein commentedIt also does not work for me.
D 10.3.6 php 8.3 drush 13.2
Only solution was to uninstall