-1

I'm working locally on a Laravel project, and suddenly started getting the following exception:

ErrorException in FilesystemManager.php line 193: Class 'League\Flysystem\AwsS3v3\AwsS3Adapter' not found (View: /Users/mypetproject/resources/views/layouts/topheader.blade.php) (View: /Users/mypetproject/resources/views/layouts/topheader.blade.php) (View: /Users/mypetproject/resources/views/layouts/topheader.blade.php)

A version of this is running on a server without any issue. Just to verify, I checked out the same branch, compared composer.json and composer.lock files and they are the same locally and on the server, did a composer update just in case, and it still fails locally but not in the server. The .env file is also the same.

FilesystemManager is in vender/laravel/framework/src/Illuminate/Filesystem and indeed attempts to use League\Flysystem\AwsS3v3\AwsS3Adapter as S3Adapter; however this is also the case with the version running on the server.

As a note, I'm not using S3 at all, and I don't really want to install league/flysystem-aws-s3-v3 since I'm not using it.

Any idea what could be wrong?

This is my composer.json

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.3.*",
        "laravelcollective/html": "5.3.*",
        "guzzlehttp/guzzle": "^6.2",
        "google/cloud-storage": "1.1.5"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "phpspec/phpspec": "~2.1"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

Sandy
  • 2,572
  • 7
  • 40
  • 61

1 Answers1

0

I finally tracked it down to the autoload_static.php and autoload_classmap.php files in vendor/composer/

For some reason it was referencing an incorrect file (one previously using S3):

'App\\IsoClasses\\IsoStorage' => __DIR__ . '/../..' . '/app/IsoClasses/IsoStorageS3.php',

updated to

'App\\IsoClasses\\IsoStorage' => __DIR__ . '/../..' . '/app/IsoClasses/IsoStorage.php',

and it now works.

What is weird is that the dev server's files also have this, but it works in the dev server with no problems.

Sandy
  • 2,572
  • 7
  • 40
  • 61