Устаревший Composer показывает, что у drupal / core более новая версия, но обновление композитора говорит, что «ничего не нужно обновлять»

preg_replace() требует символа разделителя:

preg_replace("/$pat/" ...

Традиционно это косая черта, но это может быть любой символ - особенно если вам нужна косая черта в самом регулярном выражении, вы можете прибегнуть к другому персонаж.

Эта гибкость позволяет вам выразить "/http:\/\/foo\/bar\//" («синдром наклона зубочистки») как "!http://foo/bar/!".

Символ разделителя необходим для отделения регулярного выражения от флагов регулярных выражений (aka «модификаторы»), например:

preg_replace("/$pat/i" ...

... для этого используется флаг i для объявления не зависящего от регистров регулярного выражения.

0
задан Mojo 18 March 2019 в 18:02
поделиться

1 ответ

У меня была та же проблема сегодня с обновлением Drupal, и следующий процесс помог мне решить эту проблему.

  • Запустите команду обновления композитора, используя конкретную версию, до которой вы пытаетесь обновить. В этом случае это будет composer require drupal/core:8.6.12 --update-with-dependencies. Если есть проблема, блокирующая обновление, это должно показать вам список проблем. в моем случае я попытался обновить его до версии 8.6.11, и он вывел следующее.

Задача 1

. Запрос на установку drupal / core 8.6.11 -> выполняется с помощью drupal / core [8.6.11].

. Можно установить только одно из: twig / twig [1.x-dev, v1.35.3].

. Можно установить только одно из: twig / twig [v1.35.3, 1.x-dev].

. Можно установить только одно из: twig / twig [1.x-dev, v1.35.3].

. Для drupal / core 8.6.11 требуется ветка / ветка ^ 1.38.2 -> выполнимая веткой / веткой [1.x-dev, v1.38.2].

. Вывод: не устанавливайте twig / twig v1.38.2

. Запрос на установку ветки / ветки (заблокирован в v1.35.3, требуется как ^ 1.35.0) -> выполняется веткой / веткой [v1.35.3].

  • Если в списке нет проблем, попробуйте очистить кэш композитора composer clearcache, а затем повторите команду обновления.
  • Вы также можете попробовать запустить команду Why-Not Composer, чтобы увидеть, выделяет ли это какие-либо проблемы composer why-not drupal/core:8.6.12

В моем случае проблема заключалась в том, что компонент ветки, необходимый для 8.6.12, был v1 .38.2, но был ограничен более низкой версией 1.35 в файле композитора. Я использовал следующую команду для обновления версии ветки, и это позволило мне обновиться до Drupal 8.6.12, используя мой обычный процесс обновления.

composer require twig/twig:1.35.2

Надеюсь, это поможет.

0
ответ дан Bevan 18 March 2019 в 18:02
поделиться