Requirements check fails on install when dependencies are present

Created on 29 January 2020, almost 5 years ago
Updated 17 June 2024, 6 months 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.1

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States bobmarchman

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

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