当运行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(这是一个非常新的版本,昨天发布了!(。
简单地要求";旧的";该AWS包的版本通过CCD_ 10。
毕竟,这不是拉拉威尔自己的问题。
我使用的是最新版本的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联赛/flysystem-aws-s3-v3"^3.0〃;
删除compose.lock 后
对于laravel 9:
- 删除项目根文件夹中的
composer.lock
- 运行
composer require league/flysystem-aws-s3-v3