#laravel #composer-php
#laravel #composer-php
Вопрос:
При запуске 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
as "league/flysystem": "^1.1",
. Похоже, у меня есть несколько пакетов (например spatie/laravel-backup
), которые имеют это как зависимость.
Как мне поступить? Я не уверен, как обновить пакет, который зависит от других пакетов, и что эти другие пакеты также привязаны к определенной версии.
Ответ №1:
Как вы уже обнаружили: spatie/laravel-backup
еще не совместим с league/flysystem
v2 (что довольно ново, оно было выпущено… вчера!).
Просто требуется «старая» версия этого пакета AWS composer require league/flysystem-aws-s3-v3:"^1.0"
.
В конце концов, это не проблема самого Laravel.
Ответ №2:
Я использую последнюю версию laravel V8.4.0 (ИЮЛЬ 2021)
Я решаю это с помощью:
- Удаление
composer.lock
в корневой папке проекта - Выполняется
composer require league/flysystem-aws-s3-v3:"~1.0"
Ответ №3:
Для Laravel 8 используйте
composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"
Ответ №4:
Это проблема с Laravel. Laravel v8 пока не поддерживает league/flysystem
версию v2. v9 будет поставляться с поддержкой для него: https://github.com/laravel/framework/pull/33612
Комментарии:
1. Я только что установил Laravel 9 с помощью league / flysystem, выполнив composer require league / flysystem, и он устанавливается нормально.