fig/link-util не совместим с psr/link

Я установил свежий Symfony v5.3, ApiPlatform v2.6.6. Когда я вхожу в /api url Я получаю эту ошибку:

      Fatal error: Declaration of Fig\Link\Link::withHref(Stringable|string $href):
Symfony\Component\ErrorHandler\DebugClassLoader must be compatible with
Psr\Link\EvolvableLinkInterface::withHref($href) in
/api-platform-course/vendor/fig/link-util/src/Link.php on line 22

Я открыл этот файл в редакторе: vendor/fig/link-util/src/EvolvableLinkTrait.php и он реализует этот интерфейс: Psr\Link\EvolvableLinkInterface. Кажется, эта черта неправильно реализует методы. Например, метод интерфейса таков:

      public function withHref(string|\Stringable $href);

EvolvableLinkTrait::withHref реализация метода такова:

      public function withHref(\Stringable|string $href): static

Как видите, в исходном методе нет ключевого слова, а в реализации есть. Я удалил staticПодсказка типа возвращаемого значения из реализации, но я все еще получаю ту же ошибку. Затем я удалил все подсказки типов из реализации, и ошибка исчезла. Моя текущая реализация такова:

      public function withHref($href)

По этому методу все нормально. У других методов тоже такая же проблема, и я исправил ее тем же способом ( withRel(), withoutRel(), withAttribute(), withoutAttribute() методы).

Я использую сервер PHP 8.0 и Nginx. Что вы предлагаете для решения этой проблемы? Должен ли я изменить версию пакета или более низкую версию Symfony или что-то еще? Спасибо.

1 ответ

Это выглядит какfig/link-utilможет потребоваться обновить ограничения пакета.

fig/link-util:1.2.0намекает на тип, что означает, что он должен иметь"psr/link": "^2.0.0"как обязательный пакет нет"psr/link": "^1.1.0 | ^2.0.0"в нем также говорится, что он обеспечивает реализацию psr/link 1.0, но здесь должно быть указано 2.0.

Другие вопросы по тегам