Ошибка типа в приложении Laravel 8 при установке пакета barryvdh / laravel-translation-manager

#php #laravel #laravel-8

#php #laravel #laravel-8

Вопрос:

В течение последних 3-4 недель я получаю эту ошибку в своем приложении Laravel 8, которая выводит из строя мое приложение. После удаления пакета проблема исчезает.

Пожалуйста, посоветуйте.

При использовании приложения Laravel:

 TypeError
Argument 2 passed to SymfonyComponentTranslationTranslator::addResource() must be an instance of SymfonyComponentTranslationmixed, array given, called in D:wwwMyBooksvendornesbotcarbonsrcCarbonAbstractTranslator.php on line 165
 

при обновлении приложения и зависимостей:

 TypeError

  Argument 2 passed to SymfonyComponentTranslationTranslator::addResource() must be an instance of SymfonyComponentTranslationmixed, array given, called in D:wwwMyBooksvendornesbotcarbonsrcCarbonAbstractTranslator.php on line 165

  at D:wwwMyBooksvendorsymfonytranslationTranslator.php:109
    105|      * @param mixed  $resource The resource name
    106|      *
    107|      * @throws InvalidArgumentException If the locale contains invalid characters
    108|      */
  > 109|     public function addResource(string $format, mixed $resource, string $locale, string $domain = null)
    110|     {
    111|         if (null === $domain) {
    112|             $domain = 'messages';
    113|         }

  1   D:wwwMyBooksvendornesbotcarbonsrcCarbonAbstractTranslator.php:165
      SymfonyComponentTranslationTranslator::addResource("array", "en")

  2   D:wwwMyBooksvendornesbotcarbonsrcCarbonAbstractTranslator.php:256
      CarbonAbstractTranslator::resetMessages("en")
 

Комментарии:

1. Просто предлагаю обратить внимание на советы, приведенные здесь .

2. Похоже, что код php8, запущенный в php7 — смешанный тип, не анализируется

Ответ №1:

У меня была похожая проблема, когда я пытался использовать свой проект laravel сегодня. И я отметил, что проблема связана с новой версией Symfony «6.x», которая поддерживает только php: только 8.x. И я понизил рейтинг пакета symfony со всеми его зависимостями, используя следующую команду.

$ composer require symfony/symfony:5.4.x --ignore-platform-reqs

Я надеюсь, что это сработает, но это сработало для меня.

Комментарии:

1. Спасибо! работал для меня, но без --w опции. Сначала я удалил vendor папку и composer.lock файл, а затем выполнил команду composer require symfony/symfony:5.4.x --ignore-platform-reqs

Ответ №2:

 composer require symfony/symfony:5.4.x -w --ignore-platform-reqs