Я установил сайт Drupal 8.2.0 с composer create-project drupal/drupal testsite
.
Теперь я хотел бы обновить его до Drupal 8.2.1. Однако бег composer update drupal/drupal
не работает. Он печатает следующую ошибку:
Пакет "drupal / drupal", указанный для обновления, не установлен. Не обращая внимания.
Как мне это сделать? Поддержка четко документирована в example.gitignore.
# Ignore core when managing all of a project's dependencies with Composer
# including Drupal core.
# core
Так что должен быть какой-то способ сделать это с композитором, но как?
Думаю, я решил это. Я подумал, что мне понадобится другой корневой файл composer.json, который вместо пакета закачал пакет drupal, но я не знал, как это сделать.
К счастью, кто-то уже сделал это и переупаковал Drupal удобным для композиторов способом: https://github.com/drupal-composer/drupal-project (По-видимому, пока нет стабильной версии).
С помощью
composer create-project drupal-composer/drupal-project:8.x-dev --stability dev drupal-dir
я смог получить установку, которая может быть обновлена с помощью composer.источник
composer create-project
использует запрошенный проект в качестве шаблона для нового проекта, поэтому в первой попытке git.drupal.org/project/drupal.git был использован в качестве шаблона для вашего нового проекта. Вместо этого, используя github.com/drupal-composer/drupal-project в качестве шаблона, Drupal становится частью проекта. Фактически, вместо использованияdrupal/drupal
он используетdrupal/core
(для основного каталога) иdrupal-composer/drupal-scaffold
для других важных файлов, таких как index.php и .htaccess.Команда
composer create-project
клонирует запрошенный пакет, который в данном случае является https://git.drupal.org/project/drupal.git . В конце процесса создания проекта вам будет предложено удалить существующую историю VCS. Если вы ответилиn
, у вас будет возможность выполнить обновление из вышестоящего хранилища drupal. Перейдите на тестовую площадку и используйте git, чтобы получить и проверить версию Drupal, которую вы хотите. Затем запустите,composer install
чтобы получить зависимости, определенные в composer.json и composer.lock обновленной версии Drupal.источник
В командной строке нам потребовалось ядро drupal (замените на вашу версию):
В заменяемом файле composer.json нам пришлось удалить «drupal / core»: «^ 8.6», поэтому замена выглядит так:
в нашем файле composer.json сейчас. Затем мы побежали:
и drupal обновлен до последней версии.
источник