laravel 联盟\\飞行系统\\AwsS3v3\\AwsS3适配器::__构造():参数#1($client)必须是Aws\\S3Client类型,并且已给定Aws\\S3\\S3Client

zysjyyx4  于 2023-03-24  发布在  其他
关注(0)|答案(3)|浏览(137)

我已经通过在我的Laravel 8项目中运行以下composer命令安装了s3 flystem包

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

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

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

我得到以下错误
League\Flysystem\AwsS3v3\AwsS3Adapter::__construct():参数#1($客户端)必须是类型Aws\S3Client,Aws\S3\S3Client给定,调用在D:\Projects\Rescale\vendor\laravel\framework\src\Illuminate\Filesystem\FilesystemManager.php行229

vlju58qv

vlju58qv1#

所以看起来ThePHPLeague Flysystem主要版本更新了(到v2),因此打破了很多东西,因为最新的Laravel依赖于“^1.1”(参见:https://github.com/laravel/framework/blob/8.x/composer.json#L27).
我遇到过这个错误,所以我的解决方法是使用特定的版本。
1.转到composer.json并使用latest 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.运行composer update并让composer更新您的依赖项。

imzjd6km

imzjd6km2#

试试这个
composer require --with-all-dependencies league/flysystem-aws-s3-v3 "~1.0"

7rfyedvj

7rfyedvj3#

我在Laravel版本8中遇到了同样的错误
1.打开composer.json并将内部版本更改为"league/flysystem-aws-s3-v3": "^1.0"
1.运行composer update

相关问题