Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Appropriate solution for Drupal 8.4 #44

Closed
iainhouston opened this issue Dec 12, 2017 · 4 comments
Closed

Appropriate solution for Drupal 8.4 #44

iainhouston opened this issue Dec 12, 2017 · 4 comments

Comments

@iainhouston
Copy link

iainhouston commented Dec 12, 2017

Would value ability to install Drush 9 as required by Drupal 8.4 .... adopt Christopher Hopper's solution if appropriate?

Our production site is saying that we should update to Drupal 8.4.3 but we're finding all sorts of incompatibility issues with PHP version / Drush version / Drupal core version / contrib modules that seem to fall outside the control of Composer and need thorough investigation in our Drupal-vm systems.

I tried

    # Override Geoff's Drush install defaults
    # Install from source (git clone + composer-based install).
    drush_install_from_source: yes 
    drush_version: "master"
    drush_keep_updated: yes
    drush_force_update: yes
    drush_force_composer_install: yes

but I get Drush 8.1.15 instead of Drush 9 and of course, this doesn't account properly for drush global / site-local use of Drush 9.

@iainhouston
Copy link
Author

iainhouston commented Jan 2, 2018

I find only this combination works for Drupal 8.4.3

               Old                New                
PHP VM         7.1.12             7.1.12              
PHP Host       7.1.12             7.1.12
Drush VM       8.1.16-dev         ~9.0     
Drush Host     8.1.15             ~9.0            
Drupal Core    8.3.7              8.4.3
MySQL          5.7.20             5.7.20   (Required MySQL 5.5.3/MariaDB 5.5.20)

@geerlingguy
Copy link
Owner

This is a... complicated question, and one I'm currently working on myself for a number of different sites :(

Please also see:

@geerlingguy
Copy link
Owner

So I've kind of hedged my bets; this role now installs Drush one of three ways (Phar install is no longer an option):

  1. drush_launcher_install: yes (default): Installs the Drush Launcher globally. The idea being that each of your Drupal projects would have it's own Drush dependency installed/used via Launcher. This seem to be the preferred way of things for Drush 9+.
  2. drush_composer_global_install: yes (off by default): Installs Drush via Composer 'globally' (global to the user who did the install...). This is helpful in some cases, but slightly more annoying than phar global install, and a little slower.
  3. drush_install_from_source: yes (off by default): Installs Drush globally via git clone, then installs Drush dependencies via Composer. Use only if you need bleeding edge or some exotic version that's not available via Composer, or if you need it system-wide globally. Note that this setup may not jive wonderfully if you're using Drush 9+ (in that case use the Launcher, I think).

I'm defaulting to #1 and will try to steer Drupal VM usage in that direction too. I'll have to figure out how to handle Drush Aliases though—they've changed a bit in Drush 9.

@geerlingguy
Copy link
Owner

(These features are in the totally revamped geerlingguy.drush 3.0.0 role.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants