Как обновить ядро через composer

Главные вкладки

Аватар пользователя remmor remmor 18 октября 2018 в 18:27

Поставил композер глобально на комп на windows 7, натравил его на денвер, composer успешно встал.

composer update --with-dependencies

Перешел в папку с сайтом, сделал команду выше, но ядро он так обновлять отказывается обновилось только с 8.4.6 до 8.4.8 - далее (а текущая 8.6.*) отказывается.

Как обновить ядро, что ещё ставить надо?

Выдает вот такое. И где этот белый список?

А если папки удалить core и vendor - то на первом этапе через строку пишет

Class Drupal\Core\Composer\Composer is not autoloadable, can not call post-package-install script

Лучший ответ

Аватар пользователя gun_dose gun_dose 18 октября 2018 в 21:24
1

Если композер глючит, надо удалять composer.lock, а также папки vendor и core. Обычно это не требуется, но по личному наблюдению вероятность такого глюка при обнове порядка 10-20%

Комментарии

Аватар пользователя remmor remmor 18 октября 2018 в 20:25

Это в composer.json или где? Каким параметром? А то я там указал

"replace": {
"drupal/core": "^8.6"
},

Он мне взял и весь Друпал удалил, хорошо бэкап был

Аватар пользователя gun_dose gun_dose 18 октября 2018 в 21:24
1

Если композер глючит, надо удалять composer.lock, а также папки vendor и core. Обычно это не требуется, но по личному наблюдению вероятность такого глюка при обнове порядка 10-20%

Аватар пользователя remmor remmor 18 октября 2018 в 21:57

Да он вроде не глючит. Это я сам добавил вот такую инструкцию, и он удалил старую версию, видимо штатное поведение. Потом убрал

Аватар пользователя gun_dose gun_dose 18 октября 2018 в 22:31

Ну он так и должен - старое удалил, новое залил. Но если происходит глюк, то новая версия не заливается или заливается в субдиректорию, из-за чего ничего вообще не работает. В этом плане, что npm, что composer ведут себя абсолютно одинаково - в любой непонятной ситуации удаляем .lock файлы и скачанные пакеты и инсталлим всё на свежую голову.

Аватар пользователя remmor remmor 18 октября 2018 в 23:11

в каком смысле инсталим по новой? Сайт не новый.
Я вон директиву выше привел - может он штатно так отработал? Стоит 8.4.8, я поставил replace - и видимо он удалил лишнее

Аватар пользователя gun_dose gun_dose 18 октября 2018 в 23:26

В смысле удаляем вендоров и ядро и выполняем команду composer install, чтобы всё, что тянется из внешних репозиториев перезалилось по новой. Сайт при этом не переустанавливается, т.к. база данных, пользовательские файлы и кастомный код остаются нетронутыми.

Аватар пользователя remmor remmor 19 октября 2018 в 0:19

Я стандартный composer update --with-dependencies выполнил после удаления пары папок и всё заработало все сдохло

Аватар пользователя remmor remmor 19 октября 2018 в 0:19

Даже lock удалять не пришлось. И правда, снес пару папок и система все докачала
не, сайт обновился, но сдох...

Аватар пользователя remmor remmor 18 октября 2018 в 23:45

gun_dose wrote:

В смысле удаляем вендоров и ядро и выполняем команду composer install

То есть папку core, папку vendors и папку .git и .idea? А может глючить, если у меня не стоит никакого гита? А он точно тогда последнюю закачает, если из корня не удалить composer.json?

Аватар пользователя gun_dose gun_dose 19 октября 2018 в 6:32

Я думал, это само собой разумеется)) это всегда надо делать, независимо от версии друпал и от способа обновления. Ну зато теперь в следующий раз точно не забудете ?