跑步时
composer require league/flysystem-aws-s3-v3
我得到:
league/flysystem-aws-s3-v3[2.0.0, ..., 2.x-dev] require league/flysystem ^2.0.0 -> found league/flysystem[2.0.0-alpha.1, ..., 2.x-dev] but the package is fixed to 1.1.3 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
在我的
composer.json
中没有提到league/flysystem
,但它确实在我的composer.lock
中出现为"league/flysystem": "^1.1",
。看起来我有几个包(如spatie/laravel-backup
)将其作为依赖项。
我该如何进行?我不确定如何更新其他包作为依赖项的包,并且这些其他包也已固定为特定版本。
正如您已经发现的那样:
spatie/laravel-backup
尚不兼容 league/flysystem
v2(这是非常新的,它已于昨天发布!)。
只需通过
composer require league/flysystem-aws-s3-v3:"^1.0"
需要该AWS包的“旧”版本。
毕竟这不是Laravel本身的问题
我正在使用最新版本的 laravel V8.4.0(2021 年 7 月)
我通过以下方式解决这个问题:
composer.lock
composer require league/flysystem-aws-s3-v3:"~1.0"
供 Laravel 8 使用
composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"
这是 Laravel 的问题。 Laravel v8 还不支持
league/flysystem
v2。 v9 将附带对它的支持:https://github.com/laravel/framework/pull/33612
对于那些使用 Laravel 9 的用户,您需要升级到 v3.0。
作曲家要求 -W league/flysystem-aws-s3-v3 "^3.0"
删除compose.lock后
对于laravel 9:
composer.lock
composer require league/flysystem-aws-s3-v3