Requirements check fails on install when dependencies are present

Created on 29 January 2020, about 5 years ago
Updated 20 July 2021, almost 4 years ago

Problem/Motivation

I installed this module with "composer require drupal/flysystem" on my Drupal 8.8.1 project (composer version is 1.9.2). I go to admin/modules and attempt to enable the module and get the following error:

"Dependencies missing: Flysystem, replicate adapter, stream wrapper."

I looked at flysystem.install and saw the dependency check for the three required classes and I confirmed that composer had indeed installed each in the following locations, and I verified they each contained the needed files that contain the required classes (and yes, more is shown below than what was required, just showing everything I got):

/vendor/league/flysystem /vendor/league/flysystem-aws-s3-v3 /vendor/league/flysystem /vendor/twistor/flysystem-stream-wrapper /vendor/twistor/stream-util

Running composer install/update doesn't remedy the problem.

From my project root, if I run "drupal shell" and check the return value of print (bool) class_exists(
) for each of the classes, they each return true, so php - at least in that context - can load them.

If I run "drupal moi flysystem" from the command line it says the module installed successfully, but when I visit the site there is WSOD, so have to uninstall the module to get the site to load. After seeing the WSOD, when I checked watchdog logs, I saw the following errors:

flysystem The Flysystem driver is missing.
php Error: Class 'Twistor\FlysystemStreamWrapper' not found in include()...

For the php error, I confirmed in the error message text that the path is correct as it points to: /vendor/composer/ClassLoader.php(444):

My config is the following (which works on an older version of D8 <8.7.6>, but with the same version of flysystem installed the same way via composer):

$schemes = [
  'local' => [
    'driver' => 'local', 
    'config' => [
      'root' => 'sites/default/files',
    ],
  ],
  's3' => [
    'type' => 's3',
    'driver' => 's3',
    'config' => [
      'key'    => 'my_key',  
      'secret' => 'my_secret',
      'region' => 'us-west-2',
      'bucket' => 'my_bucket',
    ],
    'cache' => TRUE,
  ],
];

$settings['flysystem'] = $schemes;

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

πŸ› Bug report
Status

Needs work

Version

2.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States bobmarchman

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.71.5 2024