Всем привет!
В общем хотел обновиться на версию 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