Действительно сбивающий с толку вывод ошибок композитора, связанный с работающими файлами composer.json/.lock
Предупреждение: это может показаться немного глупым! Вплоть до версии 8.3.0 я думал, что решил все свои проблемы, связанные с drupal + composer. Со следующим в файле composer.json:
"require": {
"drupal/core": "~8.3"
}
Я запустил обновление composer. У меня есть v8.3.0-rc2. После некоторой игры я изменил вышеприведенное на:
"require": {
"drupal/core": ">8.0"
},
Который обновляется до последней стабильной версии 8.x. Что происходит! Почему первый пример не сработает?
Кроме того, загрузка Drupal в .zip форма, строка гласит:
"replace": {
"drupal/core": "~8.3"
},
Почему, когда почти каждое руководство рекомендует поместить эту строку в массив "требуется", если вы собираетесь обновлять через composer?
Кроме того, широко рекомендуемый Проект Drupal Composer имеет следующую - возможно, решающую - строку:
"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
}
]
Я рано понял, что без этой строки многие мои попытки обновления каким-то образом потерпели бы неудачу. Почему бы этой линии не быть поглощенной основным дистрибутивом Drupal?
Так много вопросы, и все же большинство страниц Drupal + Composer в Интернете перенаправляют нас на общий веб-сайт composer. Кажется очевидным, что Drupal не полностью совместим с "общей" методологией композитора
1 answers
Кто-то еще недавно сообщил, что не может обновиться с RC2:
Обновление ядра с помощью Composer не работает
Есть две разные вещи: drupal/drupal и drupal/core. Вы не можете смешивать эти два, вот почему, когда вы загружаете drupal с drupal.org вручную у вас есть drupal/drupal, и он содержит строку замены, так как в ней говорится, что она заменяет это.
Как было предложено там, я бы рекомендовал использовать шаблон drupal-проекта, я обновил многие drupal установки до 8.3 с этим без проблем.
Обратите внимание, что у него совершенно иная структура файлов, в частности, у него есть веб-папка, содержащая общедоступные файлы.