Using Drush without local copy of Drupal, only calling site aliases - No site aliases found We have a project which does not contain a Drupal codebase. It's Cypress.io test with Drush 9 added using Composer. I would like to execute Drush with site alias to work with the remote site while running tests.

I'm able to call Drush from Cypress test just fine. The Cypress part actually does not matter at all as the behaviour is the same when I run Drush command directly.

The setup:


composer init fresh project
composer require drush/drush


✔ rk:/tmp/drushtest&gt; vendor/bin/drush version
 Drush version : 9.7.1
✔ rk:/tmp/drushtest&gt; vendor/bin/drush sa --debug
 [preflight] Config paths: /tmp/drushtest/vendor/drush/drush/drush.yml
 [preflight] Alias paths: 
 [preflight] Commandfile search paths: /tmp/drushtest/vendor/drush/drush/src
 [bootstrap] Starting bootstrap to none [0.09 sec, 7.33 MB]
 [bootstrap] Drush bootstrap phase 0 [0.09 sec, 7.34 MB]
 [bootstrap] Try to validate bootstrap phase 0 [0.09 sec, 7.34 MB]
 [success] No site aliases found. [0.09 sec, 7.36 MB]



Already there is nothing in Alias paths.
Added some drush aliases to drush/sites/remoteproject.site.yml (valid yml file that is working in the Drupal project)
While debugging this I tried to add a drush.yml config file to point drush to the alias.


✔ rk:/tmp/drushtest&gt; tree
.
├── composer.json
├── composer.lock
├── drush
│   └── sites
│       └── remoteproject.site.yml
├── drush.yml
└── vendor
    ├── ...

✔ rk:/tmp/drushtest&gt; cat drush.yml 
drush:
  paths:
    alias-path:
      - drush/sites/remoteproject.site.yml

✔ rk:/tmp/drushtest&gt; vendor/bin/drush sa --debug --config=drush.yml
 [preflight] Config paths: /tmp/drushtest/drush.yml,/tmp/drushtest/vendor/drush/drush/drush.yml
 [preflight] Alias paths: drush/sites/remoteproject.site.yml
 [preflight] Commandfile search paths: /tmp/drushtest/vendor/drush/drush/src
 [bootstrap] Starting bootstrap to none [0.08 sec, 7.34 MB]
 [bootstrap] Drush bootstrap phase 0 [0.08 sec, 7.34 MB]
 [bootstrap] Try to validate bootstrap phase 0 [0.08 sec, 7.34 MB]
 [success] No site aliases found. [0.08 sec, 7.37 MB]


So I convinced Drush to see the site alias file, but the alias itself is not loading.

When I try to use the alias:

✔ rk:/tmp/drushtest&gt; vendor/bin/drush @remoteproject.remotesite.dev status -debug --config=drush.yml
 [preflight] The alias @remoteproject.remotesite.dev could not be found.


Is this conceptually wrong? (Having only Drush and calling remote site using site alias.) Am I just missing some option? Or is this ready to be "promoted" to Github bug report / feature request?

Thanks!
If your Drush 9 alias file is remoteproject.site.yml, and it has keys like live:, then your alias should be @remoteproject.live.

If you have multiple remote sites, do not put them in the same .yml file in Drush 9. Make one file per site, e.g. remotesite1.site.yml, remotesite2.site.yml and so on.

Use ./vendor/bin/drush sa to see the list of aliases found by Drush.