Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
Панель управления
  • Русский
  • Українська
  • UAH
  • USD
  • RUB
  • EUR
  • 0-800-307-307  Горячая линия
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

2.8.3.2. Работа с Composer

Composer — менеджер пакетов для интерпретатора языка PHP, который работает с ними согласно правилам, указанным в файле composer.json. Работа Сomposer состоит в скачивании и установке пакетов зависимостей и библиотек, которые в дальнейшем можно подключить при помощи универсального файла автозагрузчика всех зависимостей /vendor/autoload.php. При этом установка определённых библиотек автоматически установит все требуемые дополнительные библиотеки. Все данные загружаются с официального репозитория пакетов packagist.org.

Содержание

Запуск Composer выполняется следующим образом:

composer

Если версия php используемая для запуска Composer и версия отображаемая при его работе – разные, то следует попробовать выполнить команду:

export PATH=/usr/local/php73/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin

Вместо php73 укажите нужную версию php интерпретатора.

Управлять пакетами Composer можно при помощи самого Composer, а также при помощи файла composer.json, в котором хранятся все данные о пакетах и зависимостях. Для работы с Composer требуется подключиться по SSH.

Схема файла composer.json состоит из множества пакетов. Всю схему файла можно найти на официальном сайте.

Ознакомиться более детально с Composer можно в официальной документации.

Для определения требуемого пакета используется команда require, которая встраивается в файл composer.json, или же используется команда в консоли:

composer require поставщик/пакет версия

Указание зависимостей в файле composer.json производится таким образом:

"require": {
    "поставщик/пакет1": "версия",
    "поставщик/пакет2": "версия",
    "поставщик/пакет3": "версия"
}
  • поставщик (vendor) — поставщик библиотеки, которая будет установлена.
  • пакет — имя пакета, предоставляемого поставщиком.
  • версия — версия запрашиваемой библиотеки. Если не указывать, то будет установлена последняя версия пакета. Для работы с версиями используются цифровые (1.2.1, 3.5.1) или же текстовые обозначения (dev-master, master). Также можно использовать неточные обозначения при помощи стандарта, описанного в SemVer.

К примеру, для установки пакета monolog нужно выполнить команду:

composer require "monolog/monolog"

Или указать в файле composer.json строки:

{
    "require": {
        "monolog/monolog": "*"
    }
}

После чего выполнить в консоли:

composer update

Чтобы удалить пакеты, нужно в файле composer.json удалить строки нужного пакета. К примеру, для Monolog нужно удалить:

 "monolog/monolog": "*"

После чего нужно в консоли выполнить команду:

composer update

Либо же можно выполнить в консоли команду:

composer remove monolog/monolog

Если Composer сообщает, что пакет требует версии PHP не ниже той, что указана в тексте ошибки, установите эту версию, переопределив переменную PATH по инструкции, после чего повторно выполните команду Composer, при которой возникла ошибка.

Если при выполнении команды composer update возникает ошибка «Fatal error: Allowed memory size of XXX bytes exhausted», попробуйте запустить её следующим образом:

php -d memory_limit=-1 /usr/local/bin/composer update