#drupal-8
#drupal-8
Вопрос:
Это похоже на вопрос без ответа годичной давности. Предположительно, у меня есть обновление для drupal / core:
$ composer outdated "drupal/*"
drupal/core 8.6.10 8.6.12 Drupal is an open source content ...
Но когда я запускаю обновление…
$ composer update drupal/core --with-dependencies
Dependency "asm89/stack-cors" is also a root requirement, but is not explicitly whitelisted. Ignoring.
Dependency "composer/semver" is also a root requirement, but is not explicitly whitelisted. Ignoring.
[ ... ]
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
> DrupalCoreComposerComposer::preAutoloadDump
> DrupalCoreComposerComposer::ensureHtaccess
Я пытаюсь следовать инструкциям по обновлению drupal 8 через composer, найденным здесь:https://www.drupal.org/docs/8/update/update-core-via-composer
Ответ №1:
Сегодня у меня была такая же проблема с обновлением Drupal, и следующий процесс помог мне решить проблему.
- Запустите команду composer update, используя конкретную версию, до которой вы пытаетесь обновиться. В данном случае это было бы
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 требуется twig / twig ^ 1.38.2 -> выполняется с помощью twig / twig[1.x-dev, версия v1.38.2].
. Вывод: не устанавливайте twig / twig v1.38.2
. Запрос на установку для twig / twig (заблокирован в версии v1.35.3, требуется как ^ 1.35.0) -> выполняется twig / twig [v1.35.3].
- Если в списке проблем нет, попробуйте очистить кэш composer
composer clearcache
, а затем повторите попытку команды update. - вы также можете попробовать запустить команду почему бы и нет composer, чтобы узнать, выявляет ли это какие-либо проблемы
composer why-not drupal/core:8.6.12
В моем случае проблема заключалась в том, что компонент twig, необходимый для 8.6.12, был версии v1.38.2, но в файле composer был ограничен более низкой версией 1.35. Я использовал следующую команду для обновления версии twig, и это позволило мне обновиться до Drupal 8.6.12, используя мой обычный процесс обновления.
composer require twig/twig:1.35.2
Надеюсь, это поможет.
Комментарии:
1. Спасибо, Беван! Я был немного идиотом, когда не прочитал остальную часть статьи «обновление». Я запустил «composer запрещает» и обнаружил зависимость twig.