【问题标题】:Error: Class 'League\Flysystem\AwsS3v3\AwsS3Adapter' not found错误:未找到“League\Flysystem\AwsS3v3\AwsS3Adapter”类
【发布时间】:2020-09-02 12:51:51
【问题描述】:

laravel 框架是 7.9.2。

composer 需要 League/flysystem-aws-s3-v3 ~1.0 安装以使用 aws s3。

它在localhost上运行,但是当我把它放在aws服务器上时,

错误:出现 Class 'League\Flysystem\AwsS3v3\AwsS3Adapter' not found 错误。

但是,当我检查作曲家许可证时,

它被识别为 League/flysystem v1.0.67 MIT。

我不知道问题是什么。 如果你有和我一样的困难,请帮助我。

【问题讨论】:

  • 您的 composer.json 看起来如何,并且 flysystem-aws 在您的锁定文件中?
  • 尝试运行composer dump-autoload,然后重试。
  • @mrhn composer.json 有 flysystem-aws-s3-v3。
  • @djunehor 我试过 composer dump-autoload,但没有任何改变。
  • 是什么触发了这个错误?是在您尝试访问特定路由时发生,还是在您尝试执行任何操作时发生 - 运行命令、访问路由等?

标签: php laravel amazon-s3 file-upload flysystem


【解决方案1】:

这是由于composer.lock 文件具有league/flysystem-aws-s3-v2

类似:

"league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2"(问题)

"league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",

解决方案

简单运行composer require league/flysystem-aws-s3-v3

【讨论】:

  • 出现错误:- League/flysystem-aws-s3-v3[2.1.0, ..., 2.x-dev] 需要 League/flysystem ^2.0.0 -> 找到 League/flysystem [2.0.0-alpha.1, ..., 2.x-dev] 但该软件包通过部分更新固定为 1.1.9(锁定文件版本),并且该版本不匹配。确保将其列为更新命令的参数。 - 根 composer.json 需要 League/flysystem-aws-s3-v3 ^2.1 -> 可满足 League/flysystem-aws-s3-v3[2.1.0, 2.x-dev]。
【解决方案2】:

这可能对您没有帮助,但我偶然发现了这个,正在寻找解决相同错误的方法。看起来 League S3 AWS V3 适配器进行了升级,并且版本 2 分支不使用相同的类名。我在composer.json 中指定了我想要的版本,这似乎可以解决:

    "league/flysystem-aws-s3-v3": "1.0.29",

【讨论】:

  • 谢谢你,伙计!这是正确的解决方案。
【解决方案3】:

我遇到了这个问题...它可能不适用于您...

之后还是有问题

composer require league/flysystem-aws-s3-v3

原因是自 2020 年 10 月以来,该课程已重命名

AwsS3Adapter 到 AwsS3V3Adapter

【讨论】:

  • 出现错误:- League/flysystem-aws-s3-v3[2.1.0, ..., 2.x-dev] 需要 League/flysystem ^2.0.0 -> 找到 League/flysystem [2.0.0-alpha.1, ..., 2.x-dev] 但该软件包通过部分更新固定为 1.1.9(锁定文件版本),并且该版本不匹配。确保将其列为更新命令的参数。 - 根 composer.json 需要 League/flysystem-aws-s3-v3 ^2.1 -> 可满足 League/flysystem-aws-s3-v3[2.1.0, 2.x-dev]。
【解决方案4】:

也许你应该尝试在终端中运行这个命令

composer require league/flysystem-aws-s3-v3 ^1.0

【讨论】:

    【解决方案5】:

    Laravel 8

    使用--update-with-all-dependencies 标志安装

    composer require league/flysystem-aws-s3-v3 "~1.0" --update-with-all-dependencies
    

    【讨论】:

      猜你喜欢
      • 2018-01-19
      • 2020-09-02
      • 2021-05-11
      • 2021-04-16
      • 2022-01-10
      • 2021-01-19
      • 2022-10-24
      • 1970-01-01
      • 2021-03-14
      相关资源
      最近更新 更多