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 |
Иногда, вы можете получить такое предупреждение:
composer.json (добавляли или изменяли description , authors , extra и т. д.). Даже если ваши изменения незначимы для 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 |
Создать архив для указанного пакета. Команда также может быть использована для архивирования всего проекта без исключенных/игнорируемых файлов. |
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 позволяет другие команды такие, как install , require или 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 и перед установкой релизного тега. Эта команда проверит его на ошибки. |
Зависимости приложения
Когда вы создаете PHP-приложение или библиотеку, вы, как правило, имеете 3 вида зависимостей:
- Жесткие зависимости: то, что требуется вашему приложению/библиотеке, чтобы работать
- Необязательные зависимости: например, ваша PHP-библиотека может предоставлять адаптеры/бриджи для различных фреймворков
- Зависимости для разработки: инструменты отладки, тестирования…
Жесткие зависимости:
Необязательные зависимости:
Необязательные зависимости для разработки:
Полезные замечания
При возникновении ошибки Composer Fatal error: Declaration of Fxp…
нужно удалить плагины командой --no-plugins
более подробно можно прочитать в справке
Затем нужно обновить Composer
И поставить новую версию плагина