League\\Flysystem\\AwsS3v3\\AwsS3Adapter::__construct():参数 #1 ($client) 的类型必须是 Aws\\S3Client,给定的 Aws\\S3\\S3Client

2023-12-10

我已经通过在我的目录中运行以下 Composer 命令安装了 s3 Flysystem 软件包Laravel 8 project

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

并尝试将请求中的文件存储为

$imageName = $request->file('file')->store('uploads');

我收到以下错误

League\Flysystem\AwsS3v3\AwsS3Adapter::__construct():参数 #1 ($client) 必须是 Aws\S3Client 类型,给定 Aws\S3\S3Client,称为 在 D:\Projects\Rescale\vendor\laravel\framework\src\Illuminate\Filesystem\FilesystemManager.php 229号线


所以看来 ThePHPLeague Flysystem 主要版本已更新(到 v2),因此破坏了很多东西,因为最新的 Laravel 依赖于“^1.1”(请参阅​​:https://github.com/laravel/framework/blob/8.x/composer.json#L27).

我遇到了这个错误,所以我的解决方法是使用特定版本。


  1. 转到composer.json并使用最新的v1(请参阅:https://github.com/thephpleague/flysystem-aws-s3-v3/tags).
- "league/flysystem-aws-s3-v3": "^1.0",
+ "league/flysystem-aws-s3-v3": "1.0.29",
  1. Run composer update并让 Composer 更新您的依赖项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

League\\Flysystem\\AwsS3v3\\AwsS3Adapter::__construct():参数 #1 ($client) 的类型必须是 Aws\\S3Client,给定的 Aws\\S3\\S3Client 的相关文章

随机推荐