hosting:php:composer:how-to

2.8.3.2. Работа с Composer

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

Содержание

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

composer

Управлять пакетами 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
  • hosting/php/composer/how-to.txt
  • Последние изменения: 2020/05/22 17:06
  • — karlov