I was trying to install Drush for the first time but I constantly ran into the same error over and over again. I could run drush status without errors, but every other command I tried ended in "Drush command could not be completed." There was no explanation of the error, not even in debug mode.
I searched and searched for answers, I checked that I was running the right php, that cli was enabled, switch to an empty database etc etc, but I couldn't understand why it didn't work. I wasn't until I manually removed all modules and put them back one after another that I discovered that Coder was the source of my problems.
I couldn't imagine that the mere *presence* of a module could break Drush so I was looking in all the wrong places. Since I'm new to Drush I didn't know that Drush read information from modules that wasn't enabled.
Looking into the issues of Coder I found this issue. The fix is easy and the solutions has been know for quite some time, but for some reason there's not been any new releases of Coder. So as long as the stable version of Coder is 6.x-1.0, more people could run into this issue as well.
And if Coder could break Drush by it's presence, so could any other module.
Therefor I suggest some kind of warning somewhere (project page, readme, error message?) that if you run in to the "Drush command could not be completed.", a buggy module in the modules directory could be the culprit, even if the module has never been activated. And maybe specifically mention Coder 6.x-1.0 as a known issue.
Comments
Comment #1
moshe weitzman commentedplease ask the coder team to issue a new release. it has been a year.
Comment #2
AdrianB commentedI have already done so in the appropriate issue (the one linked above), but I wanted to warn others banging their heads against this problem. Now they can search and hopefully find this issue (even if it's "won't fix").
But since *any* active or non-active module can break drush by mere presence I don't think it's completely unreasonable to mention in in the readme, to help troubleshooting. I wish I known about it.