Drupal 9 Lando recipe fails and can’t find composer

  composer-php, docker, drupal-9, lando

I’ve been hitting my head on the wall for days trying to get a proper lando recipe for drupal 9 with drush, node (to compile SCSS with Gulp) and maybe a Browsersync and ruby (for Compass).

I got this drupal-composer project so I could quickstart the drupal9 project and the first time it runs the composer do try to install everything, but it gets stuck in 99% and after that, everytime I try to use composer it says:

You must set up the project dependencies using `composer install`

I tried restarting, rebuilding, deleting everything and reinstalling, rebooting the PC, and even tested this on another computer and the same happens.

Please help, the composer.json is the same as in project above and the .lando.yml is:

name: myproject

recipe: drupal9
config:
  database: mysql
  webroot: web
  drush: ^10 
  php: '7.4' #some issues indicate this could be a php version problem

services:
  # Mysql database credentials
  database:
    portforward: true
    # control over database credentials 
    creds:
      user: admin
      password: myproject#$%
      database: myproject

  # Add a phpmyadmin db frontend
  pma:
    # Use the latest version of phpmyadmin
    type: phpmyadmin
    hosts:
      - database
    run:
      - echo "3[36mn--------->>  PHPMYADMIN RUN  <<---------n3[0m"

  #config:
    # Use a custom php.ini
    # This **should** load last which means you should be able to override
    # any previously set php settings.
    #conf: provision/php/php.ini

  appserver:
    build:
      - echo "3[36mn--------->>  APPSERVER BUILD <<---------n3[0m"
    run:
      - echo "3[36mn--------->>  APPSERVER RUN  <<----------n3[0m"
      - echo "3[95mn>>  Installing drupal dependecies with composer3[0m"
      - composer install --no-cache
      - echo "3[95mn>>  Installing Drupal with drush3[0m"
      # - drush si standard -y --db-url=mysql://admin:jb#[email protected]:3306/jbdp9db 
      - echo "3[95mn>>  Note login credentials 3[0m"

  nodeserver:
    # Node and Gulp to compile scss
    type: node:12
    ssl: true

    # Note that most deps should be installed by the normal npm install, this is
    # for things like gulp/grunt cli that are global dependencies
    globals:
      gulp-cli: latest
      npm-cli: latest

    # this would serve to install compass
    # build_as_root:
    #   - apt-get update -y
    #   - apt-get install ruby-full -y
    #   - gem install compass

    build:
      - echo "3[36mn----------->>  NODE BUILD <<------------n3[0m"
    run:
      - echo "3[36mn------------>>  NODE RUN <<-------------n3[0m"
      - echo "3[95mn>>  npm install3[0m"
      - cd $LANDO_MOUNT && npm install
      - echo "3[95mn>>  gulp scss-compile3[0m"
      - cd $LANDO_MOUNT && gulp scss-compile #I want to watch in the background

tooling:
  npm:
    service: nodeserver
  node: #i saw in some samples, is this needed?
    service: nodeserver
  gulp:
    service: nodeserver
  drush:
    service: appserver
  # ruby:
  #   service: node
  # compass:
  #   service: node

proxy:

  pma:
    - pma.jamesbaroud.lndo.site
  appserver:
    - jamesbaroud.lndo.site
  nodeserver:
    - nodeserver.jamesbaroud.lndo.site #in the browsersync manual it states I should put a 3000 port here, but it didn't work even in a LAMP server

events:
  post-start:
    - echo "Hello Clarice"

After lando start the composer don’t run (even if I try lando composer install), it appears it isn’t installed, and the nodeservers URLs show a message of bad gateway

How to proceed please

Source: Docker Questions

LEAVE A COMMENT