Рейтинг:0

Обновление до Composer 2 заблокировано зависимостями Symfony

флаг us

У меня есть существующий сайт Drupal 8.9.16, который использует Composer 1 (и Commerce 2.24). Я пытаюсь перейти на использование Composer 2 с помощью этого руководства: https://www.drupal.org/docs/develop/using-composer/preparing-your-site-for-composer-2.

Я прошел все необходимые шаги до последнего шага работы с drupal-scaffold (https://www.drupal.org/docs/develop/using-composer/using-drupals-composer-scaffold#s-migrating-composer-scaffold). Последним шагом является требование drupal/core-recommended:^8.9. Поскольку я не хочу обновлять ядро ​​прямо сейчас, я пытаюсь запустить:

композитор требует drupal/core-recommended:8.9.16

но меня заблокировали:

  • Можно установить только один из: symfony/yaml[v3.4.41, v3.4.47].
  • drupal/core-recommended 8.9.19 требует symfony/yaml v3.4.41 -> удовлетворяется symfony/yaml[v3.4.41].

В качестве догадки я пытаюсь потребовать symfony/yaml:3.4.41. Это устраняет эту проблему, а затем переходит к следующему плагину Symfony, который генерирует аналогичную ошибку. Начал просматривать все это, но есть много симфонических плагинов, и это не может быть правильным способом сделать это.

Что мне здесь не хватает?

флаг cn
Вы пробовали `композитор требует drupal/core-recommended:8.9.16 -w`? Это сделает любые обновления зависимостей вместе с require.Если вам требуется какая-либо из зависимостей, вызывающих проблемы в вашем собственном composer.json, попробуйте вместо этого флаг `-W`. См. https://getcomposer.org/doc/03-cli.md#require для получения дополнительной информации.
liquidcms avatar
флаг us
Нет опции -w или -W. Кстати, я все еще делаю это с Composer 1, как указано в руководстве d.org.
флаг cn
Я не знал, что псевдоним недоступен в Composer 1 - однако вместо этого можно использовать `--update-with-dependencies`
liquidcms avatar
флаг us
Та же ошибка. Я подозреваю, что что-то заставляет 3.4.47 и так как я могу потребовать 3.4.41; интересно, нет ли способа заменить все плагины symfony сразу?
Рейтинг:2
флаг us

Как обычно, это исправление, удаление папки поставщика и файла composer.lock, а затем запуск:

  • композитор требует drupal/core-recommended:8.9.16 --update-with-dependencies вроде решил проблему.

Поскольку я удалил файл .lock, он эффективно запускает обновление композитора, которое обновляет несколько модулей contrib.Не то, что я хотел; но я мог бы запереть их там, где они были, если бы я так беспокоился об этом. Core и Commerce были исправлены в версии, которую я использовал, так что это осталось нетронутым.

После этого я смог самостоятельно обновиться до composer 2.x.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.