Рейтинг:2

Почему я не могу обновиться с 9.2.3 до 9.2.4 с помощью Composer?

флаг br

Если я проверяю наличие устаревших артефактов, используя:

композитор устарел "drupal/*"

Я вижу, что Core нуждается в обновлении:

друпал/ядро 9.2.3 9.2.4
drupal/core-composer-scaffold 9.2.3 9.2.4
друпал/ядро-дев 9.1.5 9.2.4
drupal/core-рекомендуется 9.2.3 9.2.4

...

Однако, когда я пытаюсь обновить:

обновление композитора drupal/core-recommended --with-dependencies

Я получаю следующие сообщения:

Зависимость «drupal/core» также является корневым требованием, но явно не разрешена. Игнорирование.
Загрузка репозиториев композитора с информацией о пакете
Обновление зависимостей (включая require-dev)
Нечего устанавливать или обновлять
Пакет container-interop/container-interop заброшен, вам следует избегать его использования. Вместо этого используйте psr/container.
Пакет doctrine/reflection заброшен, вам следует избегать его использования. Вместо этого используйте roave/better-reflection.
Пакет phpunit/php-token-stream заброшен, вам следует избегать его использования. Замену не предложили.
Пакет rector/rector-prefixed заброшен, вам следует избегать его использования. Используйте вместо этого ректора/ректора.
Запись файла блокировки
Создание файлов автозагрузки
composer/package-versions-deprecated: Создание класса версии...
composer/package-versions-deprecated: ...сделано создание класса версии

Этот сайт изначально был создан на Drupal 8, но был обновлен до Drupal 9.

Любые предложения о том, как я могу решить эту проблему?

Мой файл composer.json выглядит следующим образом:

{
    "name": "drupal/рекомендуемый-проект",
    "description": "Шаблон проекта для проектов Drupal 8 с перемещенным корнем документа",
    "тип": "проект",
    "лицензия": "GPL-2.0 или более поздняя версия",
    "домашняя страница": "https://www.drupal.org/project/drupal",
    "поддерживать": {
        "docs": "https://www.drupal.org/docs/user_guide/en/index.html",
        "чат": "https://www.drupal.org/node/314178"
    },
    "хранилища": [
        {
            "тип": "композитор",
            "url": "https://packages.drupal.org/8"
        }
    ],
    "требовать": {
        "композитор/установщики": "^1.2",
        "друпал/адрес": "^1.9",
        "drupal/advagg": "4.x-dev@dev",
        "drupal/asset_injector": "2.x-dev",
        "drupal/charts": "^5.0@alpha",
        "друпал/кофе": "1.x-dev",
        "drupal/composer_deploy": "^1.6",
        "drupal/config_views": "^2.0",
        "drupal/core": "9.2.3 как 8.9.0",
        "drupal/core-composer-scaffold": "^9.1.5",
        "drupal/core-project-message": "^9.1.5",
        "drupal/core-рекомендуется": "^9.1.5",
        "drupal/devel_entity_updates": "^3.0",
        "друпал/домен": "1.x-dev",
        "drupal/domain_site_settings": "1.x-dev",
        "drupal/dropzonejs": "^2.5",
        "drupal/drupalmoduleupgrader": "^1.7",
        "drupal/dynamic_asset": "1.x-dev",
        "drupal/email_registration": "^1.1",
        "drupal/exclude_node_title": "1.x-dev@dev",
        "drupal/каналы": "3.x-dev",
        "drupal/feeds_tamper": "^2.0",
        "drupal/field_css": "^2.0@RC",
        "drupal/field_formatter_class": "^1.5",
        "drupal/filefield_paths": "1.x-dev",
        "drupal/formblock": "^2.0@beta",
        "друпал/геокодер": "^3.17",
        "drupal/geophp": "^1.0",
        "друпал/группа": "1.x-dev@dev",
        "друпал/gtranslate": "^1.13",
        "друпал/image_effects": "^3.1",
        "drupal/jquery_ui": "1.x-dev",
        "drupal/jquery_ui_sortable": "1.x-dev",
        "друпал/листовка": "^2.1",
        "drupal/libraries": "^3.0@beta",
        "drupal/masquerade": "2.x-dev@dev",
        "drupal/media_directories": "^2.0",
        "drupal/media_library_form_element": "1.x-dev",
        "drupal/media_migration": "1.x-dev@dev",
        "drupal/menu_twig": "^1.4",
        "drupal/migrate_plus": "^5.1",
        "drupal/migrate_process_inline_images": "^1.0",
        "drupal/migrate_source_csv": "3.x-dev@dev",
        "drupal/migrate_tools": "5.x-dev@dev",
        "drupal/ng_lightbox": "^1.0@beta",
        "drupal/office_hours": "^1.3",
        "drupal/optimizedb": "1.x-dev@dev",
        "друпал/абзацы": "^1.12",
        "drupal/pathauto": "^1.8",
        "друпал/php": "^1.1",
        "drupal/предварительное заполнение": "^2.3",
        "drupal/викторина": "6.x-dev@dev",
        "друпал/рекаптча": "^3.0",
        "друпал/перенаправление": "^1.6",
        "друпал/поиск404": "^2.0",
        "drupal/шорткод": "2.0.x-dev@dev",
        "drupal/карта сайта": "^2.0@beta",
        "drupal/theme_switcher": "^1.1",
        "drupal/ultimate_cron": "^2.0@альфа",
        "drupal/upgrade_rector": "1.x-dev@dev",
        "друпал/видео": "^1.5@альфа",
        "drupal/video_embed_field": "2.x-dev@dev",
        "drupal/views_data_export": "1.x-dev@dev",
        "drupal/views_slideshow": "^4.8",
        "drupal/веб-форма": "^6.0@alpha",
        "drupal/webform_migrate": "1.x-dev@dev",
        "друпал/вес": "^3.2",
        "drupal/xhprof": "^1.0@бета",
        "дрош/дрош": "^10.4",
        "geocoder-php/google-maps-provider": "^4.6",
        "google/apiclient": "^2.0",
        "phpstan/phpstan": "^0.12.81",
        "webmozart/assert": "^1.10"
    },
    "конфликт": {
        "друпал/друпал": "*"
    },
    "минимальная стабильность": "dev",
    «предпочтительно стабильный»: правда,
    "конфигурация": {
        "сортировать-пакеты": правда
    },
    "дополнительный": {
        "друпал-скаффолд": {
            "места": {
                "веб-корень": "веб/"
            }
        },
        "пути установщика": {
            "сеть/ядро": [
                "тип: drupal-ядро"
            ],
            "веб/библиотеки/{$name}": [
                "тип: drupal-библиотека"
            ],
            "web/modules/contrib/{$name}": [
                "тип: drupal-модуль"
            ],
            "web/profiles/contrib/{$name}": [
                "тип: drupal-профиль"
            ],
            "web/themes/contrib/{$name}": [
                "тип: drupal-тема"
            ],
            "drush/Commands/contrib/{$name}": [
                "тип: друпал-драш"
            ],
            "веб/модули/обычай/{$имя}": [
                "тип: drupal-пользовательский-модуль"
            ],
            "веб/темы/обычай/{$имя}": [
                "тип: drupal-пользовательская-тема"
            ]
        },
        "drupal-core-project-message": {
            "включить-ключи": [
                "домашняя страница",
                "поддерживать"
            ],
            "сообщение-команды-сообщения-создания-проекта": [
                "<bg=синий;fg=белый> </>",
                "<bg=blue;fg=white> Поздравляем, вы установили кодовую базу Drupal </>",
                "<bg=blue;fg=white> из шаблона drupal/recommended-project! </>",
                "<bg=синий;fg=белый> </>",
                "",
                "<bg=yellow;fg=black>Дальнейшие шаги</>:",
                " * Установить сайт: https://www.drupal.org/docs/8/install",
                " * Прочтите руководство пользователя: https://www.drupal.org/docs/user_guide/en/index.html",
                " * Получить поддержку: https://www.drupal.org/support",
                " * Примите участие в сообществе Drupal:",
                "https://www.drupal.org/getting-involved",
                " * Удалите плагин, который печатает это сообщение:",
                "композитор удалить сообщение drupal/core-project"
            ]
        }
    },
    "требовать-разработчик": {
        "drupal/core-dev": "^9.1.5",
        "кинт-php/кинт": "^3.3",
        "mglaman/drupal-check": "^1.1",
        "phpunit/phpunit": "^8.4.1"
    }
}
MrD avatar
флаг cn
MrD
Во-первых, попробуйте composer remove --dev drupal/core-dev. И обновление композитора drupal/core-recommended:^9.2. возможно конфликт от core-dev.
флаг br
Я только что попробовал композитор удалить --dev drupal/core-dev. И обновление композитора drupal/core-recommended:^9.2. Все еще получаю «Нечего устанавливать или обновлять». В любом случае, спасибо за предложение, мистер Д.
флаг cm
Документация drupal.org - https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-composer - говорит использовать `composer update drupal/core "drupal/core-*" -- со всеми зависимостями`. Это помогает?
Jaypan avatar
флаг de
Да, я думаю, это то, что нужно сделать.
Рейтинг:8
флаг ru

У вас есть действительно грязные хаки в composer.json. Линия вроде "drupal/core": "9.2.3 как 8.9.0" это очень плохая идея и всегда рано или поздно взорвется. Обычно намерение состоит в том, чтобы обновить Drupal core v9, сохранив при этом модули, совместимые только с v8/v9, но пытаться сделать что-то подобное просто неправильно.

  1. Удалить все строки друпал/ядро*** кроме drupal/core-рекомендуется и drupal/core-композитор-скаффолд. Этим двоим потребуются все остальные вещи, друпал/ядро*** просто сделать будущее обновление сложнее.
  2. В другом вашем посте есть сообщение об ошибке ...drupal/theme_switcher 1.1.0 требует drupal/core ^8.5.... Этот модуль несовместим с Drupal v9 (и, возможно, это было причиной очень плохой идеи, упомянутой ранее). К счастью, сейчас есть друпал/theme_switcher:^1.2 который совместим с Drupal v9.
  3. По моему опыту, самый надежный способ обновить ядро ​​Drupal — явно потребовать новую минимальную версию core-recommended и core-composer-scaffold: композитор требует drupal/core-recommended:^9.2.4 drupal/core-composer-scaffold:^9.2.4 --update-with-dependencies.
  4. В вашем особом случае вам также необходимо обновить модуль переключения тем v8, чтобы получить полный набор пакетов, совместимых с v9: композитор требует drupal/core-recommended:^9.2.4 drupal/core-composer-scaffold:^9.2.4 drupal/theme_switcher:^1.2 --update-with-dependencies
флаг cn
К сожалению, `"drupal/core": "9.2.3 как 8.9.0"` и друзья вроде как санкционированы: https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-to -drupal-9-или новее. Они дают его как вариант и называют только _менее рекомендуемым_ вместо того, чтобы дать правильное название _избегать любой ценой_
флаг br
Спасибо @Худри. Я пробовал эти шаги, но в настоящее время получаю сообщение: - drupal/core-recommended 9.2.4 требует drupal/core 9.2.4 -> удовлетворяется drupal/core[9.2.4], но это противоречит вашим требованиям или минимально- стабильность. - Вывод: удалить друпал/ядро 9.2.3
флаг ru
@BrettS попробуйте включить drupal/core:^9.2.4 в «композитор требует» и «композитор удалить», если впоследствии
флаг br
Оказывается, одной из моих проблем было несколько модулей contrib, которые были локально исправлены для Drupal 9. Эти модули по-прежнему загружались только как Drupal 8. Несмотря на то, что в информационных файлах было указано «^8 || ^9», композитор выбрасывал ошибки. Итак, я удалил ссылки на эти модули из файлов композитора, а затем смог запустить `composer require 'drupal/core-recommended:^9.2.4' 'drupal/core-composer-scaffold:^9.2.4' --update -с-зависимостями`. Спасибо @Худри
Рейтинг:-1
флаг de

Вы заблокированы drupal/core-рекомендуется к версии 9.1.5 в этой строке:

"drupal/core-рекомендуется": "^9.1.5",

Я считаю, что вы можете исправить это, запустив:

Обновление композитора drupal/core-recommended:^9.2. -W

Изменить: Кроме того, мне это не нравится, но я не думаю, что это имеет какое-либо отношение к вашей проблеме:

    "drupal/core": "9.2.3 как 8.9.0",

Я предполагаю, что кто-то сделал псевдоним для целей обновления или что-то в этом роде. думаю попробовать удалить как 8.9.0 От этого.

флаг cm
Черт! Символ вставки «^9.1.5» не блокирует версию — читайте https://getcomposer.org/doc/articles/versions.md — он просто блокирует обновление до Drupal 10.
Jaypan avatar
флаг de
Нет, это привязывает его к предоставленному вами регулярному выражению, в котором указано «версия, начинающаяся со строки 9.1.5», что по существу блокирует ее до версии «9.1.5», поскольку никакие другие версии не будут начинаться с этого, если только ` Ветвь 9.1 дошла до 9.1.50 и так далее.
флаг ru
@Jaypan Нет, это неверно, `^` вообще не имеет ничего общего с регулярным выражением, это блокировка основной версии, как упоминал @hansfn. Правило, которое вы описываете, - это диапазон версий тильды `~`. `^9.1.5` означает `>= 9.1.5 и =9.1.5 и
Jaypan avatar
флаг de
Хорошо, я исправлен. Спасибо.
Kevin avatar
флаг in
Это могло бы использовать лучшую документацию, потому что вы можете получить разные результаты между ^ 9.0 и ^ 9.2, то же самое для модулей, в зависимости от расчета зависимости. Я только что испытал это с добавленным модулем, и его было трудно обнаружить из-за второстепенной версии, вызывающей это.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.