как установить пакет через композитор?

8

Я хотел бы добавить библиотеку в мой пользовательский модуль drupal 7. Библиотека может быть установлена ​​через композитор, но я не могу найти решение для установки? Как я могу установить эту библиотеку? Я установил «менеджер композитора», но все еще не могу запустить его.

gregab
источник
Мне бы тоже хотелось узнать ответ на этот вопрос.
itdarrylnorris
1
Не согласен с закрытым голосованием по этому вопросу. Как использовать composer с Drupal определенно в теме.
mpdonadio

Ответы:

6

Для начала добавьте composer.jsonфайл в свой модуль. Единственное, что вам здесь нужно, это requireраздел, содержащий вашу внешнюю библиотеку.

Composer managerэто один из способов объединить все ваши зависимости вместе, но есть и другие способы заставить Drupal загрузить ваш файл autoload.php. Техника, которую я предпочитаю, - это создать composer.jsonфайл уровня проекта в корне Drupal и использовать модуль composer_vendor для включения вашего файла autoload.php.

Самый простой способ начать работу - использовать расширение Drush composer_generate для создания composer.jsonфайла уровня проекта .

$ drush dl composer_generate $ cd /path/to/drupalroot $ drush composer-generate > composer.json $ composer install

Composer-generate добавит все проекты, которые в настоящее время используются на вашем сайте Drupal, плюс composer_vendor, поэтому composer installдолжен работать только для вас. Главное волшебство здесь в пользовательских загрузчиках, добавленных в шаблон; взгляните на вывод, чтобы увидеть, что было включено.

Конечно, здесь нужно соблюдать осторожность; шаблон по умолчанию поместит все ваши модули в sites / all / modules / contrib. Вы можете отредактировать шаблон до запуска установки composer, если это не то, что вам нужно.

Вы также должны быть осторожны, если у вас есть какие-либо модифицированные модули; Есть несколько способов справиться с любым взломанным контентом, но это немного выходит за рамки этого вопроса.

Обновить

Если вы не хотите запускать Drush, вы также можете вручную ввести свой собственный файл composer.json, используя проект https://github.com/drupal-composer/drupal-project . Это шаблон, на котором основывается композитор.

greg_1_anderson
источник
мы не используем Drush. Именно об этом lib: github.com/giggsey/libphonenumber-for-php
gregab
Вы можете установить Drush и использовать его только для загрузки и запуска инструмента composer_generate. Это будет быстрее, чем вводить собственный файл composer.json вручную.
greg_1_anderson
@ greg_1_anderson добавляя к основному вопросу, как мы можем загрузить vendor autoload.php для сторонних API?
Сукхиндер Сингх
Drupal 8 загрузит автозагрузчик для вас, поэтому я предполагаю, что вы спрашиваете о Drupal 7. Либо используйте модуль composer_vendor, который я рекомендую выше, либо просто добавьте include в свой файл settings.php.
greg_1_anderson