Рейтинг:0

Composer не обновляет модули

флаг in

У меня есть веб-сайт Drupal 8.9.16, и когда я пытаюсь запустить обновление композитора чтобы обновить модули, я получаю этот вывод

$ обновление композитора
Загрузка репозиториев композитора с информацией о пакете
Обновление зависимостей
Ничего не изменить в файле блокировки
Установка зависимостей из файла блокировки (включая require-dev)
Нечего устанавливать, обновлять или удалять
Пакет container-interop/container-interop заброшен, вам следует избегать его использования. Вместо этого используйте psr/container.
Пакет doctrine/reflection заброшен, вам следует избегать его использования. Вместо этого используйте roave/better-reflection.
Создание файлов автозагрузки
38 пакетов, которые вы используете, ищут финансирование.
Используйте команду `composer fund`, чтобы узнать больше!

Так он говорит Нечего устанавливать, обновлять или удалять.

Затем я просматриваю список доступных обновлений на странице «Доступные обновления» (/admin/reports/updates), и большинство из них имеют обновления.

Глядя на файл composer.json, я вижу в нем обновленную версию.

Например:

  • На странице доступных обновлений Drupal указано, что у меня есть Адрес 8.x-1.8 установлен и рекомендует версию 8.х-1.9.
  • композитор.json файл отображается под требованием: "друпал/адрес": "^1.9", что, как я предполагаю, означает, что композитор говорит об обновлении до версии 1.9.

У меня возникла эта проблема в Composer 1, поэтому я обновился до Composer 2, но это ничего не изменило.

$ композитор --версия
Композитор версии 2.1.3 2021-06-09 16:31:20

Ниже приведено содержимое моего файла composer.json.

{
    "имя": "корень/чесла",
    "требовать": {
        "композитор/установщик": "^1.7",
        "друпал/ядро": "^8.8",
        "друпал/адрес": "^1.9",
        "drupal/addtoany": "^1.12",
        "drupal/admin_toolbar": "^2.0",
        "drupal/ajax_form_entity": "^1.0-альфа1",
        "drupal/backup_migrate": "^4.1",
        "друпал/разрешенные_форматы": "^1.2",
        "drupal/block_class": "^1.3",
        "друпал/капча": "^1.1",
        "друпал/контекст": "^4.0-beta2",
        "друпал/ctools": "^3.2",
        "друпал/разработка": "^2.1",
        "друпал/дифф": "^1.0",
        "друпал/сущность": "^1.1",
        "drupal/exclude_node_title": "^1.1",
        "друпал/функции": "^3.8",
        "drupal/field_group": "^3.0",
        "drupal/media_entity": "^1.8",
        "друпал/imce": "^2.2",
        "друпал/библиотеки": "^3.0-альфа1",
        "друпал/почтовая система": "^4.3",
        "drupal/image_widget_crop": "^2.3",
        "drupal/разметка": "^1.0-beta1",
        "drupal/menu_block": "^1.6",
        "друпал/метатег": "^1.13",
        "drupal/mimemail": "^1.0-альфа2",
        "drupal/module_filter": "^3.1",
        "друпал/абзацы": "^1.11",
        "drupal/pathauto": "^1.6",
        "друпал/рекаптча": "^2.5",
        "drupal/typed_data": "^1.0-альфа4",
        "друпал/правила": "^3.0.0-альфа5",
        "drupal/sharethis": "^2.0-beta3",
        "drupal/simplenews": "^1.0-beta1",
        "друпал/карта сайта": "^1.5",
        "друпал/токен": "^1.7",
        "drupal/views_bootstrap": "^4.2",
        "drupal/views_fieldsets": "^3.3",
        "drupal/yoast_seo": "^1.7",
        "drupal/migrate_upgrade": "^3",
        "друпал/мигрировать_плюс": "^4",
        "drupal/migrate_tools": "^4.5",
        "друпал/бутстрап": "^3.21",
        "drupal/context_layout": "^1.0-beta2",
        "друпал/кроп": "^2.1",
        "drupal/entityqueue": "^1.0",
        "drupal/views_slideshow": "^4.7",
        "драш/драш": "^10.3",
        "drupal/bootstrap_simple_carousel": "^1.43",
        "drupal/carousel_block": "^1.10",
        "друпал/слик": "^2.3",
        "друпал/веб-форма": "^6.0",
        "drupal/core-composer-scaffold": "^8.9"
    },
    "хранилища": {
        "друпал": {
            "тип": "композитор",
            "url": "https://packages.drupal.org/8"
        }
    }
}

Я только что заметил, что у меня есть список drush. Я им не пользуюсь и не знаю как им пользоваться.

$ драш --версия
Версия лаунчера Drush: 0.6.0
Инструмент командной строки Drush 10.3.6

Я пытаюсь использовать composer здесь для обновления. Я могу установить модули (на днях делал веб-формы).

Спасибо.

Jaypan avatar
флаг de
Удалите папку модуля и запустите `composer install`, чтобы переустановить модуль. Если вы по-прежнему видите ту же неправильную версию модуля на странице, это, вероятно, означает, что веб-страница, на которую вы смотрите, предназначена для экземпляра, отличного от кода, для которого вы используете Composer.
sonfd avatar
флаг in
Я бы также проверил модуль `.info.yml file`, например. `address.info.yml`, чтобы увидеть, что он показывает для версии.
флаг in
Имейте в виду, что Composer используется только для обновления кодовой базы. Вам отдельно нужно будет взаимодействовать с Drupal, чтобы Drupal узнал об изменениях. В простейшем случае очистка кеша сайта позволит Drupal узнать об обновленной кодовой базе. В некоторых случаях вам также может понадобиться обновить БД через `drush updb` или посетив /update.php на вашем сайте.
Hometoy avatar
флаг in
Все хорошие предложения. Я пробовал их, но не работал. [1.] @Jaypan Я удалил папку модуля и запустил `composer install`. Он переустановил модули, но отчет Drupal не изменился. [2.] @sonfd проверил файл .info.yml модуля, и он показывает ОБНОВЛЕННУЮ версию. [3.] @Beau Ran /update.php и `drush updb` после очистки кеша, и оба говорят, что обновлений нет
Jaypan avatar
флаг de
Вы уверены, что не работаете локально, а просматриваете удаленный сайт или что-то в этом роде? Это единственный известный мне способ, когда отображаемая версия не является фактической версией. Вы можете подтвердить актуальную версию, просмотрев `address.info.yml`
Hometoy avatar
флаг in
@Jaypan, я думаю, ты в этом разбираешься. Я удалил лишние файлы (копии веб-сайта, резервную копию файлов `composer.json` и т. д.) и обнаружил, что у меня есть второй каталог /modules в `/sites/default/modules` с устаревшими версиями, пока композитор меняет модули. в `/модули`. Удаление, папка модулей в /sites/default и запуск `update.php` теперь показывает 6 обновлений. Запустите его, и он покажет, что все (кроме одного) модули обновлены.
Рейтинг:1
флаг tr

Бег обновление композитора не рекомендуется для обновления.

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

После обновления кодовой базы ключевым моментом здесь является запуск обновления базы данных. Если вы используете пробный запуск драш updb. Если вы не используете drush, вы можете посетить [ВАШ ДОМЕН]/update.php в любом браузере.

ПРИМЕЧАНИЕ: если вы посещаете свой сайт [ВАШ ДОМЕН]/update.php вы также можете изменить настройки.php

в настройки.php установить значение по умолчанию ЛОЖНЫЙ к ПРАВДА в:

$settings['update_free_access'] = ЛОЖЬ; // По умолчанию

Hometoy avatar
флаг in
Я обнаружил, что проблема заключалась в том, что у меня был второй каталог `/modules` в моем каталоге `/sites/default/` с устаревшими версиями. Я удалил каталог `/sites/default/modules`, а затем Drupal отразил правильные версии модулей.
Рейтинг:0
флаг cn

Попробуй это:

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

или же

Удалите файл composer.lock и попробуйте следующее:

обновление композитора

Hometoy avatar
флаг in
Я обнаружил, что проблема заключалась в том, что у меня был второй каталог `/modules` в моем каталоге `/sites/default/` с устаревшими версиями. Я удалил каталог `/sites/default/modules`, а затем Drupal отразил правильные версии модулей. Я буду помнить о флаге --with-all-dependencies в будущем.

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

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