Как обновить Commerce с субмодулями через Composer.

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

Аватар пользователя VasyOK VasyOK 28 февраля 2021 в 16:25

Извините за тупой вопрос. Как обновить Commerce?

$ composer outdate
drupal/commerce                      2.21.0            2.24.0            
drupal/commerce_cart                 2.21.0            2.24.0            
drupal/commerce_number_pattern       2.21.0            2.24.0            
drupal/commerce_order                2.21.0            2.24.0            
drupal/commerce_price                2.21.0            2.24.0            
drupal/commerce_product              2.21.0            2.24.0            
drupal/commerce_store                2.21.0            2.24.0

Обновляю.
$ composer update 'drupal/commerce' --with-dependencies

Результат. Обновляется только сам базовый модуль commerce. commerce_cart, commerce_number_pattern и остальные входящите в комплект остаются не обновлены.

Лучший ответ

Аватар пользователя artomas artomas 28 февраля 2021 в 20:09
1

Вероятно, я говорю то, что итак понятно и сделано, но все-таки: удалить [root]/vendor + [root]/composer.lock, а потом уже все обновлять. В .lock ведь все зависимости зафиксированы.

Комментарии

Аватар пользователя marassa marassa 28 февраля 2021 в 16:39

VasyOK wrote: with-dependencies

Ничего не понимаю ни в композере, ни в коммерсе, но сильно сомневаюсь, что модуль commerce зависит от его собственных субмодулей. По логике скорее наоборот?

Аватар пользователя VasyOK VasyOK 28 февраля 2021 в 16:51

Тут вы правы. Но вот если удалить композером Комерц, а потом запросить новую версию, то поставиться тоже только базовый модуль. А субмодули остнутся какие и были.
Так как правильно? Неужели каждый субмодуль обновлять по отдельности?

Аватар пользователя marassa marassa 28 февраля 2021 в 16:58

PS Документация вон что врёт:

If you only want to update a few packages and not all, you can list them as such:

php composer.phar update vendor/package vendor/package2

You can also use wildcards to update a bunch of packages at once:

php composer.phar update "vendor/*"

Может быть composer update 'drupal/commerce*' сработает?

Аватар пользователя VasyOK VasyOK 28 февраля 2021 в 17:22

"composer update drupal/commerce" пробовал. То же самое: обновляется базовый модуль не обновляются субмодули.

"Может быть composer update 'drupal/commerce*' сработает?" вполне вероятно, что оно сработает.
Но онобновит по алфавитному признаку. А можно чтобы обновило по признаку модули зависящие от и при этом являющиеся субмодулями?

Аватар пользователя VasyOK VasyOK 28 февраля 2021 в 17:30

"не может такого быть" в том то и проблема. Я б не писал на форуме если бы ее не было. Удалял модуль - результат тот же.

Аватар пользователя VasyOK VasyOK 28 февраля 2021 в 18:51
{
    "name": "drupal/recommended-project",
    "description": "Project template for Drupal 8 projects with a relocated document root",
    "type": "project",
    "license": "GPL-2.0-or-later",
    "homepage": "https://www.drupal.org/project/drupal",
    "support": {
        "docs": "https://www.drupal.org/docs/user_guide/en/index.html",
        "chat": "https://www.drupal.org/node/314178"
    },
    "repositories": [{
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        },
        {
            "type": "package",
            "package": {
                "name": "bower-asset/photoswipe",
                "version": "4.1.1",
                "type": "drupal-library",
                "dist": {
                    "url": "https://github.com/dimsemenov/PhotoSwipe/archive/v4.1.1.zip",
                    "type": "zip"
                }
            }
        }

    ],
    "require": {
        "bower-asset/photoswipe": "^4.1",
        "composer/installers": "^1.2",
        "cweagans/composer-patches": "^1.7",
        "drupal/admin_toolbar": "^2.4",
        "drupal/administration_language_negotiation": "^1.10",
        "drupal/ajax_loader": "1.x-dev@dev",
        "drupal/allowed_formats": "^1.3",
        "drupal/asset_injector": "^2.7",
        "drupal/better_exposed_filters": "^5.0@beta",
        "drupal/bg_image_formatter": "^1.14",
        "drupal/blazy": "^2.1",
        "drupal/blazy_photoswipe": "^1.1",
        "drupal/block_class": "^1.3",
        "drupal/colorbox_inline": "1.x-dev@dev",
        "drupal/colorbox_load": "^1.2",
        "drupal/colorbox_simple_load": "^2.0",
        "drupal/commerce": "^2.21",
        "drupal/commerce_autosku": "^2.0@beta",
        "drupal/commerce_variation_cart_form": "^1.2",
        "drupal/conditional_fields": "1.x-dev@dev",
        "drupal/core-composer-scaffold": "^8.8",
        "drupal/core-project-message": "^8.8",
        "drupal/core-recommended": "^8.8",
        "drupal/ctools": "^3.4",
        "drupal/datetime_min_max": "^1.3",
        "drupal/datetimehideseconds": "^1.1",
        "drupal/dc_ajax_add_cart": "^1.0@beta",
        "drupal/default_content": "^2.0@alpha",
        "drupal/default_content_deploy": "^1.0@beta",
        "drupal/devel": "^4.0",
        "drupal/empty_fields": "^1.0@beta",
        "drupal/entity": "^1.1",
        "drupal/entity_reference_revisions": "^1.8",
        "drupal/exif_orientation": "^1.1",
        "drupal/field_group": "^3.1",
        "drupal/file_mdm": "^2.1",
        "drupal/fullscreen_modal": "^1.0",
        "drupal/image_effects": "^3.0",
        "drupal/image_style_quality": "^1.4",
        "drupal/image_url_formatter": "^1.0",
        "drupal/imagefield_tokens": "^2.22",
        "drupal/imce": "^2.3",
        "drupal/inline_entity_form": "^1.0@RC",
        "drupal/libraries": "^3.0@alpha",
        "drupal/mailcontrol": "^1.2",
        "drupal/mailsystem": "^4.3",
        "drupal/markup": "^1.0@beta",
        "drupal/menu_link_attributes": "^1.1",
        "drupal/metatag": "^1.14",
        "drupal/minifyhtml": "^1.10",
        "drupal/minifyjs": "^2.2",
        "drupal/module_filter": "^3.1",
        "drupal/pathauto": "^1.8",
        "drupal/profile": "^1.2",
        "drupal/redirect": "^1.6",
        "drupal/rules": "3.x-dev@dev",
        "drupal/slick": "^2.2",
        "drupal/slick_lightbox": "^1.2",
        "drupal/slick_views": "^2.3",
        "drupal/state_machine": "^1.0",
        "drupal/swiftmailer": "^2.0",
        "drupal/token": "^1.7",
        "drupal/toolbar_themes": "^1.0@alpha",
        "drupal/transliterate_filenames": "^1.4",
        "drupal/tvi": "^1.0@RC",
        "drupal/twig_tweak": "^2.8",
        "drupal/viewfield": "^3.0@beta",
        "drupal/views_conditional": "^1.2",
        "drupal/views_field_view": "^1.0@beta",
        "drupal/views_fieldsets": "^3.3",
        "drupal/weight": "^3.2",
        "drupal/xmlsitemap": "^1.0",
        "drupal/yaml_editor": "^1.1"
    },
    "require-dev": {
        "drupal/core-dev": "^8.8",
        "drush/drush": "^10.3"
    },
    "conflict": {
        "drupal/drupal": "*"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "config": {
        "sort-packages": true
    },
    "extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": ["type:drupal-core"],
            "web/libraries/{$name}": ["type:drupal-library"],
            "web/modules/contrib/{$name}": ["type:drupal-module"],
            "web/profiles/contrib/{$name}": ["type:drupal-profile"],
            "web/themes/contrib/{$name}": ["type:drupal-theme"],
            "drush/Commands/contrib/{$name}": ["type:drupal-drush"],
            "web/modules/custom/{$name}": ["type:drupal-custom-module"],
            "web/themes/custom/{$name}": ["type:drupal-custom-theme"],
            "libraries/{$name}": ["type:drupal-library", "bower-asset/photoswipe"]
        },
        "drupal-core-project-message": {
            "include-keys": ["homepage", "support"],
            "post-create-project-cmd-message": [
                "<bg=blue;fg=white>                                                         </>",
                "<bg=blue;fg=white>  Congratulations, you’ve installed the Drupal codebase  </>",
                "<bg=blue;fg=white>  from the drupal/recommended-project template!          </>",
                "<bg=blue;fg=white>                                                         </>",
                "",
                "<bg=yellow;fg=black>Next steps</>:",

                "  * Install the site: https://www.drupal.org/docs/8/install",
                "  * Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html",
                "  * Get support: https://www.drupal.org/support",
                "  * Get involved with the Drupal community:",
                "      https://www.drupal.org/getting-involved",
                "  * Remove the plugin that prints this message:",
                "      composer remove drupal/core-project-message"
            ]
        },
        "enable-patching": true,
        "patches": {
            "drupal/core": {
                "Активный класс ссылки в views": "web/patches/2652000-8.9-115.patch"
            },
            "drupal/views_fieldsets": {
                "Без патча работает плохо": "web/patches/views_fieldsets-fix_empty_handler_query-2908454-56.patch"
            },
            "drupal/slick": {
                "Использовать настройки поля": "web/patches/slick_entityreference-3134342-19.patch"
            },
            "drupal/commerce": {
                "Аргумент корзины в views": "web/patches/commerce-Views_argument_default_current_cart-2852363-5.patch",
                "Совместимость с field_group": "web/patches/allow_field_group_rendering-2906502-29.patch"
            },
            "drupal/dc_ajax_add_cart": {
                "Класс к popup окну корзины": "web/patches/vasyok-dc_ajax_cart_class.patch"
            },
            "drupal/conditional_fields": {
                "Совместимость с profile": "web/patches/conditional_fields-work-for-profile-registration-page-and-biling-information-2893662-12.patch"
            }
        }
    }
}

Аватар пользователя artomas artomas 28 февраля 2021 в 20:09
1

Вероятно, я говорю то, что итак понятно и сделано, но все-таки: удалить [root]/vendor + [root]/composer.lock, а потом уже все обновлять. В .lock ведь все зависимости зафиксированы.

Аватар пользователя VasyOK VasyOK 1 марта 2021 в 17:02

Кстати спасибо, жму руку. Удалил Комерц Композером, удалил vendor и composer.lock, выполнил composer insеall, потому загрузил Комерц - хренатень с версиями субмодулей прошла.

Аватар пользователя gun_dose gun_dose 1 марта 2021 в 0:31

Модули, входящие в состав коммерса, не являются отдельными пакетами и чисто физически не могут быть установлены или обновлены отдельно. Уверен, что отчёт о доступных обновлениях в самом друпале не будет ругаться на это.

И прекратите говорить о зависимостях, все перечисленные модули не являются зависимостями коммерса.

Аватар пользователя VasyOK VasyOK 1 марта 2021 в 15:31

Друзья, спасибо за поддержку даже моральную.

Ерунда происходит из-за патчей поставленых к Комерцу. Конечно же я уберу лишние, но факт остается: возможно добиться, чтобы Комерц был одной версии, а субмодули другой.

Есть подозрение, что это не так, а всего лишь отчет Композера. Фишка в том, что версия субмодулей в отчете outdate показывается, но сами субмодули удалить Композером нельзя. Удалить субмодули нельзя, но обновить можно. (Шта?)

Я знаю что делать. Можете подсказать: как вывести список всего что поставлено Композером с версиями? Чето не гуглится по запросу "drupal composer list modules".

Аватар пользователя VasyOK VasyOK 1 марта 2021 в 16:59

Выдало "Nothing to install or update". Хотя, модули нуждающиеся в обновлениях точно есть.

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

Аватар пользователя VasyOK VasyOK 1 марта 2021 в 17:57

Хотя вру. Там другой чел обновил, поэтому я не заметил. Все равно данная команда пишет что нужно обновить, что не есть суть моего вопроса выше.