Обновление ядра 8.3.7 - 8.4 через Drush или Composer
Всем привет!
В общем хотел обновиться на версию 8.4 через drush.
Установил drush 9 (версии пробовал разные).
При проверке обновлений, команда drush ups выдает:
The pm-updatestatus command was deprecated. Please see `composer show` and `composer outdated`. For security release notification, your project should depend on https://github.com/drupal-composer/drupal-security-advisories.
команда drush up drupal:
[Symfony\Component\Console\Exception\CommandNotFoundException]
Command "up" is ambiguous (ups, upc and 3 more).
Остальные команды типа status, cr, cron и пр. работают нормально.
Ранее на версии drush 8 все обновления проходили нормально.
Подскажите в чем проблема?
Почему команды устарели, если на drushcommands.com они значатся для версии 9?
Как обновиться через drush 9.
P.S. Через Drush 8.1.14 обновиться не получается сыпятся ошибки.
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
composer update drupal/drupal
drush updb
Сейчас попробую, а команды up и ups убрали или они только у меня не работают?
Я не знаю, я собираю восьмёрошные проекты через композер, а в таком раскладе драш не даёт грузить вообще ничего.
Короче попробовал через composer:
Потом updb, cr
Смотрю - версия прежняя 8.3.7
Пробовал несколько раз
Погуглил про ошибку:
Package "drupal/drupal" listed for update is not installed. Ignoring.
добавил в composer.json в секцию require:
"drupal/core": "~8.3"
не помогло
composer config repositories.drupal composer https://packages.drupal.org/8
Тоже интересно, как обновиться, вчера все способы перепробовал - экран смерти и все... Хорошо хоть ни в первый раз и откатить умею
Не вижу никаких проблем с обновлениями через менеджеры пакетов. Будь то composer, npm, pip. Думаю проблема заключается в понимании как работает тот или иной менеджер
Выполнил:
composer config repositories.drupal composer https://packages.drupal.org/8
composer update drupal/drupal
drush updb
- та же ошибка как сверху. Обновление не произошло.
Выполнил:
composer config repositories.drupal composer https://packages.drupal.org/8
composer update drupal/drupal
drush updb
+ добавил в composer.json в секцию require:
"drupal/core": "~8.3"
ошибка:
Пробовал обновить чистую версию 8.3.7 на 8.4
те же грабли...
А что в composer.json написано?
Ну конечно же, там не drupal/drupal, a drupal/core. Прошу прощения, что сразу написал неправильно, но ведь рекомендации из интернета надо как минимум осмысливать перед применением)))
Кароче, не стал себе голову заморачивать, обновил все вручную:скопировал папки сайта библиотеки, модули, темы,а также папку tmp, потому что друпал 8.40 почему то ее не имеет и нужно создавать ее руками. Знаю об этом так как пробовал его ставить с нуля, вот на мой взгляд вся трабла вот в этом
drupal/core это я тоже пробовал.
Ошибка та же:
Полный лог:
composer.json ковырял как мог, перепробовал все варианты.
Переустанавливал copmoser, drush, пытался с чистой версией.
Скиньте вариант composer.json с которым удается обновление.
P.S. Раньше обновлялся через drush, кто знает команды up и ups в девятой версии убрали?
Может с настройками сервера что?
drush 8.1.12
drush up
drush updb
без проблем
И как ни странно, вообще никаких аномалий после обновления
1. удалите папку vendor
2. в composer.json пропишите явно drupal/core ~8.4
3. запустите composer update
должно пройти
Это помогло!
Удалил папку Vendor.
В composer.json в секции "require" указал "drupal/core ~8.4";
Секцию "replace" удалил.
Выполнил: "composer config repositories.drupal composer https://packages.drupal.org/8"
После выполнил: "composer update", т.к. "composer update drupal/core" выдавал все ту же ошибку:
Package "drupal/core" listed for update is not installed. Ignoring.
Потом drush updb, cr.
Окончательный вариант файла composer.json:
"name": "drupal/drupal",
"description": "Drupal is an open source content management platform powering millions of websites and applications.",
"type": "project",
"license": "GPL-2.0+",
"require": {
"composer/installers": "^1.0.24",
"wikimedia/composer-merge-plugin": "~1.4",
"drupal/core": "~8.4",
"drupal/devel": "^1.2"
},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
"preferred-install": "dist",
"autoloader-suffix": "Drupal8"
},
"extra": {
"_readme": [
"By default Drupal loads the autoloader from ./vendor/autoload.php.",
"To change the autoloader you can edit ./autoload.php.",
"This file specifies the packages.drupal.org repository.",
"You can read more about this composer repository at:",
"https://www.drupal.org/node/2718229"
],
"merge-plugin": {
"include": [
"core/composer.json"
],
"recurse": false,
"replace": false,
"merge-extra": false
},
"installer-paths": {
"core": ["type:drupal-core"],
"modules/contrib/{$name}": ["type:drupal-module"],
"profiles/contrib/{$name}": ["type:drupal-profile"],
"themes/contrib/{$name}": ["type:drupal-theme"],
"drush/contrib/{$name}": ["type:drupal-drush"],
"modules/custom/{$name}": ["type:drupal-custom-module"],
"themes/custom/{$name}": ["type:drupal-custom-theme"]
}
},
"autoload": {
"psr-4": {
"Drupal\\Core\\Composer\\": "core/lib/Drupal/Core/Composer"
}
},
"scripts": {
"pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
"post-autoload-dump": [
"Drupal\\Core\\Composer\\Composer::ensureHtaccess"
],
"post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
"post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup"
},
"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
}
]
}
Всем спасибо, остался один вопрос, как из командной строки проверять наличие обновлений?
В Drush 9 команда ups - не работает, см. первый пост.
Через composer такое можно сделать?
composer update --dry-run