Composer: скачать, установка, как начать использовать. Проекты на GitHub.Com

Установка и настройка Composer

Что такое Composer?

Composer — это пакетный менеджер уровня приложений для языка программирования PHP, который предоставляет средства по управлению зависимостями в PHP-приложении. Вы можете описать от каких библиотек зависит ваш проект и Composer установит нужные библиотеки за вас! Причём Composer — это не менеджер пакетов в классическом понимании.

В двух словах как работает Composer:

  • У вас есть проект на PHP, который зависит от нескольких библиотек.
  • Некоторые из этих библиотек зависят от других библиотек.
  • Вы описываете в своём проекте те библиотеки, от которых непосредственно зависит ваш код.
  • Composer находит нужные версии требуемых библиотек для всего проекта, скачивает их и устанавливает в папку вашего проекта.

Скачивание Composer — инсталлятор для Windows

  1. Заходим на сайт https://getcomposer.org/
  2. Заходим в раздел Download
  3. В подразделе Windows Installer скачиваем Composer-Setup.exe

Скачивание Composer - инсталлятор для Windows

Установка Composer на Windows 10

Для работы Composer Требуется PHP (необходимо заранее установить на windows php).

Порядок инсталляции Composer на винду:

1. Запускаем дистрибутив с админскими правами:

Запускаем дистрибутив с админскими правами:

2. Выполняем поэтапно все пункты инсталлятора (почти всегда нажимать нужно Далее/Next), Только с php нужно выбрать директорию:

Установка и настройка Composer

Выбираем php.exe в директории с php (инсталляция Php производится отдельно)

Установка и настройка Composer

Обновляем php.ini (файл с настройками php):

Установка и настройка Composer

Прокси не нужен

Установка и настройка Composer

Устанавливаем Composer:

Установка и настройка Composer

Установка и настройка Composer

Установка и настройка Composer

Первая команда в Composer. Как использовать Composer на Windows?

Сразу после инсталляции php и composer, эти команды не будут запускаться в сторонних папках. Если у Вас нет доступа к переменным окружения, то запустить Composer можно следующим образом.

Для примера скачаем с помощью Composer проект для подключения к API (Гугловский PHP проект):

  1. Создаем на диске С папку C:\Composer_install. В ней будем создавать проекты. Создадим проект «New» (папку C:\Composer_install\New):
  2. Скопируем в папку C:\Composer_install\New файлы из папки C:\ProgramData\ComposerSetup\bin;
  3. Запустим команду composer для скачивания проекта google analytics:

Если появится ошибка «Failed to download psr/http-message from dist: You must enable the openssl extension to download files», то нужно включить в php.ini параметр extension=php_openssl.dll, а в composer.json скорей всего понадобится включить строчки:

Как настроить переменную окружения PATH для php и composer:
Как настроить переменную окружения PATH для php и composer
После установки переменных обязательно перезапустите Windows. После рестарта винды команда composer будет запускаться в простом виде:

composer require "google/apiclient:^2.0"

Другие примеры команд для Composer

Flarum


Результат работы composer Для скачивания проекта Flarum:
Результат работы composer Для скачивания проекта Flarum

Laravel

composer global require "laravel/installer"

Описание команд Composer

Команда Composer Описание команды
composer require vendor/package Добавляет требуемый пакет в файл composer.json и устанавливает его в ваш проект.

Команда require изменяет composer.json, находящийся в текущей папке. Если пакету требуются зависимости, то они будут установлены или обновлены. А также будет обновлён composer.lock.

composer install Если файла composer.lock нет, резолвит зависимости исходя из composer.json и создаёт его. Далее, анализирует файл composer.lock, скачивает и устанавливает указанные в нём версии пакетов.
Опция --no-scripts полезна для обхода запуска скриптов, указанных в pre- и post- настройках.
composer update Обновляет ваши зависимости до последних версий и обновляет composer.lock.

Команда update резолвит зависимости чтобы получить самые последние версии зависящих друг от друга пакетов.

composer update --lock Иногда, вы можете получить такое предупреждение:

Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies, run update to update them.

Это может произойти после того, как вы вручную редактировали composer.json (добавляли или изменяли descriptionauthorsextra и т. д.). Даже если ваши изменения незначимы для Composer, он обнаруживает, что md5sum файла изменена, и предупреждает, что эти изменения не учтены в файле composer.lock.

Поэтому, чтобы подавить это предупреждение, вы можете просто запустить команду update --lock для обновления lock-файла без обновления самих пакетов.

composer dump-autoload --optimize Если вам нужно обновить загрузчик, т. к. появились новые классы, вы можете выполнить команду dump-autoload чтобы избежать установки или обновления пакетов.

Используйте ключ —optimize для преобразования PSR-0 в автозагрузку как для classmap, чтобы автозагрузчик был наиболее быстрым. Это настоятельно рекомендуется для production (вы можете получить 20% прирост), но может занять немного времени для запуска, так что это на данный момент не сделано по умолчанию.

Также вы можете использовать dumpautoload псевдоним.

composer about Краткая информация о Composer.
composer archive vendor/package Создать архив для указанного пакета. Команда также может быть использована для архивирования всего проекта без исключенных/игнорируемых файлов.
composer browse Псевдоним для home, открывает URL пакета или его домашнюю страницу в браузере.
composer clear-cache Псевдоним команды clearcache, очищает внутренний кэш пакетов Composer-а.
composer config --list Позволяет редактировать некоторые основные параметры Composer-а либо в локальном файле composer.json, либо в глобальном файле config.json.
composer create-project vendor/package dir/ Создать новый проект из указанного пакета в указанном каталоге.
composer depends vendor/package Сообщает вам какие другие пакеты зависят от конкретного (указанного) пакета. Вы можете указать какие типы связей (require, require-dev) должны быть включены в листинг. По умолчанию выводятся оба.
composer diagnose Если вы считаете, что нашли ошибку, или что-то ведет себя странно, возможно, вы захотите выполнить команду диагностики для выполнения автоматизированной проверки многих общих проблем.
composer global Команда global позволяет другие команды такие, как installrequire или update запускать так, как если бы вы запускали их из каталога COMPOSER_HOME.

Это может использоваться для того, чтобы установить командные утилиты глобально. Если вы добавите $COMPOSER_HOME/vendor/bin в переменную $PATH вашего окружения, то запуск утилит станет совсем простым.
Например, установите php-cs-fixer:
$ php composer.phar global require fabpot/php-cs-fixer:dev-master
Теперь исполняемый файл php-cs-fixer доступен глобально и вы можете запустить его из любого места (конечно, если вы настроили вашу переменную PATH).

composer help [command] Отображает справки для всех других команд: composer.phar help install.
composer init Создает базовый вариант файла composer.json в текущем каталоге.

При запуске команды, Composer будет интерактивно запрашивать значения полей для заполнения, используя при этом для некоторых полей умные значения по умолчанию.

composer licenses Показать информацию о лицензиях зависимостей.
composer list Выводит список допустимых команд.
composer remove Удаляет пакет из секций require или require-dev: remove vendor/package vendor/package2.
composer run-script Запустить вручную скрипты, объявленные в composer.json. Просто передайте название скрипта и при необходимости --no-dev, чтобы отключить режим dev.
composer search ключевые слова Поиск пакетов.

Команда поиска позволяет вам искать в репозиториях текущего проекта (см. секцию «repositories» в composer.json).  Обычно это будет только packagist.org. Вам нужно просто передать команде слова для поиска.

composer self-update Обновление самого composer.phar до последней версии.

Запуск команды self-update может решить некоторые проблемы и сэкономить ваше время.

Также вы можете использовать псевдоним selfupdate.

composer show Список всех установленных пакетов (composer show).
Список всех доступных пакетов (composer show --all).
Инфо об указанном пакете или его специфичной версии (composer show vendor/package [версия]).
composer suggest Выводит список всех пакетов, предложенных установленными. Опционально вы можете передать одно или несколько имён пакетов в формате vendor/package чтобы ограничить вывод только теми, что были предложены указанными.
composer status Если вам часто приходится модифицировать код своих зависимостей, а они были установленны «из исходников» (см. опцию --prefer-source команды require), то
команда status позволит вам проверить есть ли у вас локальные изменения в любой из них.
composer validate Проверяет файл composer.json.

Вы всегда должны запускать команду validate перед тем, как коммитить ваш composer.json и перед установкой релизного тега. Эта команда проверит его на ошибки.

Использованные ресурсы для написания статьи

  1. https://phpprofi.ru/blogs/post/52
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x