Skip to content

The "drush finder" script should respect drush being called with an absolute path. #2023

@webbj74

Description

@webbj74

Regardless of what path I specify drush at it tries to use my local vendor folder. Drush should behave like any other command when I specify the full path to a drush install.

If I want to run my local project's vendor/bin/drush I can specify the path.

Also, I shouldn't have to read the source code to discover why drush is behaving weird.

My steps:

  1. Drush is acting weird so I check my version
~/src/project$ drush --version
 Drush Version   :  7.1.0
  1. I want to update, so I check where drush is installed
~/src/project$ which drush
/Users/jonathan.webb/.composer/vendor/bin/drush
  1. Ok, it's my global install, lets update.
~/src/project$ composer global require "drush/drush:~8"
Changed current directory to /Users/jonathan.webb/.composer
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Updating drush/drush (dev-master c0212b2 => 8.0.3)
    Checking out ee77dc526aa9fb26611ded18b5caef801b29aca7

Writing lock file
Generating autoload files
  1. Verify update worked.
~/src/project$ drush --version
 Drush Version   :  7.1.0
  1. Uh, something weird. Let me specify the full path
~/src/project$ /Users/jonathan.webb/.composer/vendor/bin/drush --version
 Drush Version   :  7.1.0

~/src/project$ cd ~

~$ /Users/jonathan.webb/.composer/vendor/bin/drush --version
 Drush Version   :  8.0.3
  1. HUH??? Use -dv to look under the hood
~$ /Users/jonathan.webb/.composer/vendor/bin/drush -dv --version
Drush preflight prepare loaded autoloader at                         [preflight]
/Users/jonathan.webb/.composer/vendor/autoload.php [0.03 sec, 2.52
MB]
Starting Drush preflight. [0.03 sec, 2.52 MB]                                                                                                                          [preflight]
Loading drushrc "/Users/jonathan.webb/.drush/drushrc.php" into "home.drush" scope. [0.04 sec, 2.53 MB]                                                                 [bootstrap]
Cache HIT cid: 8.0.3-commandfiles-0-3dd3a45718c897ad06b379e022ef0498 [0.06 sec, 2.59 MB]                                                                                   [debug]
Bootstrap to phase 0. [0.21 sec, 7.5 MB]                                                                                                                               [bootstrap]
Bootstrap to phase -1. [0.21 sec, 7.51 MB]                                                                                                                             [bootstrap]
Found command: version (commandfile=core) [0.21 sec, 7.51 MB]                                                                                                          [bootstrap]
Loading outputformat engine. [0.21 sec, 7.51 MB]                                                                                                                          [notice]
Calling hook drush_core_version [0.21 sec, 7.56 MB]                                                                                                                        [debug]
Returned from hook drush_core_version [0.21 sec, 7.56 MB]                                                                                                                  [debug]
 Drush Version   :  8.0.3

Command dispatch complete [0.22 sec, 7.66 MB]                                                                                                                             [notice]

~$ cd src/project

~/src/project$ /Users/jonathan.webb/.composer/vendor/bin/drush -dv --version
Starting Drush preflight. [0.02 sec, 2.67 MB]                                                                                                                          [preflight]
Loading drushrc "/Users/jonathan.webb/.drush/drushrc.php" into "home.drush" scope. [0.02 sec, 2.67 MB]                                                                 [bootstrap]
Cache HIT cid: 7.1.0-commandfiles-0-8d117348384e93556354e4455d6d2d60 [0.04 sec, 2.73 MB]                                                                                   [debug]
Bootstrap to phase 0. [0.18 sec, 7.54 MB]                                                                                                                              [bootstrap]
Bootstrap to phase -1. [0.18 sec, 7.54 MB]                                                                                                                             [bootstrap]
Found command: version (commandfile=core) [0.18 sec, 7.54 MB]                                                                                                          [bootstrap]
Loading outputformat engine. [0.18 sec, 7.55 MB]                                                                                                                          [notice]
Calling hook drush_core_version [0.18 sec, 7.6 MB]                                                                                                                         [debug]
Returned from hook drush_core_version [0.18 sec, 7.6 MB]                                                                                                                   [debug]
 Drush Version   :  7.1.0

Command dispatch complete [0.19 sec, 7.7 MB]                                                                                                                              [notice]

No useful information returned with debugging output. I determined after reading the source, that "drush finder" was calling my project's vendor/bin/drush. WTF.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions