lando / docs

The main docs site for Lando
https://docs.lando.dev/
GNU General Public License v3.0
20 stars 56 forks source link

Unclear how to get drush launcher as default #71

Closed simesy closed 4 years ago

simesy commented 5 years ago

Link to the page that needs to be updated or changed. https://docs.lando.dev/config/drupal8.html#configuration

Describe the change you'd like My lando environment is using /app/vendor/bin/drush, because it is in the PATH. But this is not how drush launcher should be used. There are references to drush launcher in the lando code, but it's not clear how to make it install. Please can you update the docs to indicate how .lando.yml is configured to ensure that drush launcher is installed and is default (that is, when I run drush it executes drush launcher).

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions and please check out this if you are wondering why we auto close issues.

simesy commented 4 years ago

Not a good look.

simesy commented 4 years ago

ok "bump" then, ha

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions and please check out this if you are wondering why we auto close issues.

simesy commented 4 years ago

bump

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions and please check out this if you are wondering why we auto close issues.

simesy commented 4 years ago

bump

simesy commented 4 years ago

Could someone please reopen this. I'm happy for it to be closed or wontfix by a human

simesy commented 4 years ago

Dropping some draft doco for google foo

Lando assumes you don't need drush launcher, as it will install drush X in /usr/local/bin/drush based your configuration, and then Drush will fallback on this based on PATH.

If you need drush launcher for any reason (in my case replicating another environment and testing scripts) then 1) disable drush global install, 2) prevent /app/vendor/bin overriding other locations, and 3) install your own drush launcher globally. The relevant parts of my config....

name: foobar
recipe: drupal8
config:
  webroot: web
  drush: false

services:
  appserver:
    build_as_root:
      - echo "🍮 Installing drush launcher to /usr/local/bin/drush"
      - wget -q -O /usr/local/bin/drush "https://github.com/drush-ops/drush-launcher/releases/download/0.6.0/drush.phar" && chmod +x /usr/local/bin/drush
    overrides:
      environment:
         # Drop /app/vendor/bin off the front.
         PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/www/.composer/vendor/bin

One downside of this approach is that other /app/vendor/bin/ apps you might be using will not work unless you specify the full path, so it's not something you should do by default on any project.

If it is working you should get:

$ lando drush --version
Drush Launcher Version: 0.6.0
Drush Commandline Tool 9.7.1