Здравствуйте. Не могу обновиться с 8.52 до 8.53. Сайт собирал через композер.
После команды "composer update drupal/core" выдается такое сообщение
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
> DrupalProject\composer\ScriptHandler::createRequiredFiles
На другом проекте обновилось только командой composer update --with-dependencies. Может я что то не правильно делаю?
И еще один вопросик. Допустим я установил какую то тему, она установилась в папку themes/contrib. Как сделать так, чтобы внесенные изменения в тему сохранялись после обновления? А то после обновления, если вышла свежая версия темы, то мои изменения в ней слетают.
Спасибо.
Комментарии
Попробуйте очистить кеш композера:
Проверьте, не установлена ли точная версия ядра для проекта (должно быть что-то вроде "drupal/core": "~8.0").
Проверьте, возможно обновления уже установлены ))
Не забывайте запускать обновления БД.
Флаг --with-dependencies - желательно всегда применять при обновлении, а особенно - при обновлении ядра:
Про темы и их обновления:
За видео спасибо!)
Composer clear-cache не помогло.
в composer.json "drupal/core": "^8.5" исправил на "drupal/core": "~8.5.1" по аналогии с обновившимся проектом - не помогло.
А есть ли разница обновлять БД через drush или через update.php в случае обновления композером? А то у меня на drush updb ошибку выдает, в то время как другие команды работают.
[error] The external command could not be executed due to an application error.
[error] The command could not be executed successfully (returned: PHP Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /var/www/u0109373/data/www/site.ru/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php on line 15
, code: 255)
И еще а админке показывает о наличии обновления одного из модулей, в то время, как composer update говорит нет ничего для обновления.
Не пойму что не так. Хотя изначально проект обновился через composer update --with-dependencies, но вместе с темой, после чего я сделал восстановление резервной копии. После этого ничего не получается.
Нету.
Попробуйте еще
Для генерации лоадера.
Ну, и для проверки наличия обновлений, команда:
В самом крайнем случае - можно попробовать снести vendors и composer.loc и попробовать установить все сначала.
Помогло последнее. Спасибо.
А на ваш взгляд, на счет переопределения темы на будущее в случае если от темы мне ничего, как правило, в плане оформления не нужно(обычно беру почти пустую basic и там меняю ВСЁ), как будет лучше?
1. Делать подтему basic;
2.Сделать подтему темы ядра и с ней работать
3. Или же все-таки сделать болванку своей темы и ее потом редактировать в каждом проекте от надобностей?
На мой взгляд:
В целом, нет единого правильного решения.
Надеюсь, не запутал Вас еще больше
Успехов!
Более менее прояснили мое представление о темах и подтемах, спасибо))
всем привет, подниму тему снова.
ядро 8,6,13. композер не видит обновления ядра. устанавливался друпал без его помощи
как можно иниацилизировать composer в папке с сайтом? composer.json присутствует, не модифицирован.
все происходит на хостинге. composer.loc удалял, не помогло...
https://niklan.net/blog/185
Смотрите раздел в конце статьи "Миграция из одного варианта в другой"
Если не идет обновления при переходе между реализами через композер, например 8.5 -> 8.6, 8.6 -> 8.7, то
Скорее всего проблема зависимостей. Решение:
Ручками меняем версию ядра ^8.7
и удаляем core/ vendor/ composer.lock
И запускаем тогда composer update
Бэкап обязательно сделать перед этим