Пришло время поговорить о Composer. Composer, он же "Композитор" - это пакетный менеджер для PHP приложений, который позволяет загружать пакеты и управлять зависимостями между ними.
Это очень интересная, по своеобразная штука, которая применительно к Drupal позволяет:
1. Загружать и обновлять модули. Многие сложные модули, такие, как Commerce зависят от Composer.
2. Загружать библиотеки для модулей и устанавливать между ними зависимости. Благодаря композитору мы можем избежать скачивания модулей через интерфейс Drupal, достаточно ввести команду установки и модуль добавится на сайт.
3. Обновлять ядро Drupal. Да, вы не ослышались, при помощи Composer можно обновлять ядро Drupal. Как читайте ниже :)
P.S: Версия Linux: Ubuntu 18.04.
Установка Composer в Drupal 8
Композитор устанавливается довольно просто. Единственная проблема - эта возможные ошибки на сервере, связанные с недостатком каких-либо пакетов и зависимостей.
Например:
Там написана причина, но мало ли... Решаем командой:
# apt --fix-broken install
В итоге команды следующие:
Обновляем Linux:
# sudo apt-get update
Ставим cUrl, если его нет в системе:
# sudo apt-get install curl
Обновляем зависимости:
# sudo apt-get install curl php-cli php-mbstring git unzip
Далее переходим к установке Composer.
Варианты установки:
- глобальная - установка на весь сервер;
- локальная - ставится в конкретную директорию;
Глобальная установка:
# curl -sS https://getcomposer.org/installer -o composer-setup.php
# sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
И запускаем Composer.
# composer
Локальная установка:
# cd /var/www/optiscangroup.getdrupal8/public_html
- где /var/www/optiscangroup.getdrupal8/public_html - путь к директории ;
# curl -sS https://getcomposer.org/installer -o composer-setup.php
# curl -sS https://getcomposer.org/installer | php
# php composer-setup.php
И запускаем Composer:
# php composer.phar
Для обновления composer зависимостей используем:
# composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader
# composer update drupal/console --with-dependencies
# composer update
# composer update vendor/package vendor2/package2
Обязательно пишите в комментариях, если у вас возникли проблемы при запуске какой-либо команды или если у вас есть какие-нибудь замечания. Я всегда открыт новому и готов помочь!
Это, все что касается установки Composer и его зависимостей для Drupal 8.
Примечание: Для установки Drupal Commerce 2 прежней версии требовался Composer Manager, который загружал компоненты и позволял устанавливать зависимости. Теперь, после обновления ядра до версии 8.1 в нем необходимости. Все что необходимо для работы коммерции загружается непосредственно через Composer.
Установка модулей, тем и ядра
Для того чтобы установить ядро актуальной версии Drupal 8 при помощь Composer необходимо использовать команду
composer create-project drupal/drupal my_site_name_dir
Эта команда создат папку Drupal в той директории, в которой она выполняется и поместит туда все файлы ядра Drupal 8. Она также автоматически выполняет composer install и устанавливает всех Drupal зависимости через Composer.
Более простой и на мой взгляд наиболее оптимальный вариант:
composer create-project drupal/drupal
т.к. скачанный Drupal наиболее похож на оригинальный дистрибутив.
Для загрузки дополнительных модулей Drupal или темы с композитором:
Запустить composer require drupal/<modulename>
.
Например: composer require drupal/token
.
Это должно быть выполнено на корню вашего сайта Друпал.
Затем Coposer автоматически обновит ваш composer.json.
Можно указать версию модуля / темы, которые вы хотите загрузить следующим образом:
composer require "drupal/<modulename>:<version>"
Например: composer require "drupal/simple_fb_connect:~3.0"
composer require "drupal/ctools:3.0.0-alpha26"
composer require "drupal/token:1.x-dev"
Чтобы избежать проблем используя двойные кавычки, как в приведенных выше примерах.
Чтобы удалить модуль введите:
composer remove drupal/<modulename>
.
Обновление ядра
1. Перед началом обновления обязательно сделайте резервное копирование всех данных.
2. Обновление Drupal с помощью Composer:
composer update drupal/core
3. Обновление базы данных с помощью Composer.
drush updb --entity-updates
4. Очищаем КЭШ.
drush cr
5. Проверяем, что все работает.
Зайдите на сайт и проверьте работоспособность! Если вы изменили robots.txt или .htaccess, то убедитесь, что изменения вносятся. (Иногда вы можете просто скопировать старые файлы обратно.) Если вы используете пользовательский профиль установки, можно скопировать обратно. Если конфигурационный файл был изменен, убедитесь, что ваш файл имеет последнюю и достоверную информацию - сравнивайте sites/default/settings.php и sites/default/default.settings.php.
Это все на сегодня!
Если вам понравилась эта статья - ставьте лайк и делитесь ею со своими друзьями.
Пишите комментарии, если вам есть что сказать :)