- Introduction#
- Dependency management#
- System Requirements#
- Installation — Linux / Unix / macOS#
- Downloading the Composer Executable#
- Locally#
- Globally#
- Installation — Windows#
- Using the Installer#
- Manual Installation#
- Using Composer#
- Установка Composer
- Установка composer для window.
- Установка composer для Linux / Unix / macOS.
- Локальная установка composer
- Глобальная установка composer
- Руководство по использованию Composer для начинающих
- Что такое PHP Composer
- Как установить Composer
- Установка Composer в Ubuntu, выполняющейся в подсистеме Windows для Linux (WSL)
- Установка Composer на OpenServer (в Windows)
- Установка Composer на хостинг
- Основные команды Composer
- Установка пакета
- Установка всех пакетов в проект
- Обновление зависимостей
- Удаление пакета
- Обновление Composer
- Обновление lock файла без обновления пакетов
- Создать новый проект
- Вывод всех установленных библиотек
- Проверка валидности файла «composer.json»
- Вывод списка всех доступных команд
- Очистка внутреннего кэша пакетов Composer
- Получение подробной справки по команде
- Вывести зависимости для указанного пакета
- Создание базового варианта файла composer.json с помощью мастера
- Примеры использования Composer для установки PHP фреймворков и CMS
- Как удалить Composer
Introduction#
Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.
Dependency management#
Composer is not a package manager in the same sense as Yum or Apt are. Yes, it deals with «packages» or libraries, but it manages them on a per-project basis, installing them in a directory (e.g. vendor ) inside your project. By default, it does not install anything globally. Thus, it is a dependency manager. It does however support a «global» project for convenience via the global command.
This idea is not new and Composer is strongly inspired by node’s npm and ruby’s bundler.
- You have a project that depends on a number of libraries.
- Some of those libraries depend on other libraries.
- Enables you to declare the libraries you depend on.
- Finds out which versions of which packages can and need to be installed, and installs them (meaning it downloads them into your project).
- You can update all your dependencies in one command.
See the Basic usage chapter for more details on declaring dependencies.
System Requirements#
Composer requires PHP 5.3.2+ to run. A few sensitive php settings and compile flags are also required, but when using the installer you will be warned about any incompatibilities.
To install packages from sources instead of plain zip archives, you will need git, svn, fossil or hg depending on how the package is version-controlled.
Composer is multi-platform and we strive to make it run equally well on Windows, Linux and macOS.
Installation — Linux / Unix / macOS#
Downloading the Composer Executable#
Composer offers a convenient installer that you can execute directly from the command line. Feel free to download this file or review it on GitHub if you wish to know more about the inner workings of the installer. The source is plain PHP.
There are in short, two ways to install Composer. Locally as part of your project, or globally as a system wide executable.
Locally#
To install Composer locally, run the installer in your project directory. See the Download page for instructions.
The installer will check a few PHP settings and then download composer.phar to your working directory. This file is the Composer binary. It is a PHAR (PHP archive), which is an archive format for PHP which can be run on the command line, amongst other things.
Now run php composer.phar in order to run Composer.
You can install Composer to a specific directory by using the —install-dir option and additionally (re)name it as well using the —filename option. When running the installer when following the Download page instructions add the following parameters:
Now run php bin/composer in order to run Composer.
Globally#
You can place the Composer PHAR anywhere you wish. If you put it in a directory that is part of your PATH , you can access it globally. On Unix systems you can even make it executable and invoke it without directly using the php interpreter.
After running the installer following the Download page instructions you can run this to move composer.phar to a directory that is in your path:
If you like to install it only for your user and avoid requiring root permissions, you can use
/.local/bin instead which is available by default on some Linux distributions.
Note: If the above fails due to permissions, you may need to run it again with sudo.
Note: On some versions of macOS the /usr directory does not exist by default. If you receive the error «/usr/local/bin/composer: No such file or directory» then you must create the directory manually before proceeding: mkdir -p /usr/local/bin .
Note: For information on changing your PATH, please read the Wikipedia article and/or use your search engine of choice.
Now run composer in order to run Composer instead of php composer.phar .
Installation — Windows#
Using the Installer#
This is the easiest way to get Composer set up on your machine.
Download and run Composer-Setup.exe. It will install the latest Composer version and set up your PATH so that you can call composer from any directory in your command line.
Note: Close your current terminal. Test usage with a new terminal: This is important since the PATH only gets loaded when the terminal starts.
Manual Installation#
Change to a directory on your PATH and run the installer following the Download page instructions to download composer.phar .
Create a new composer.bat file alongside composer.phar :
Add the directory to your PATH environment variable if it isn’t already. For information on changing your PATH variable, please see this article and/or use your search engine of choice.
Close your current terminal. Test usage with a new terminal:
Using Composer#
Now that you’ve installed Composer, you are ready to use it! Head on over to the next chapter for a short demonstration.
Found a typo? Something is wrong in this documentation? Fork and edit it!
Composer and all content on this site are released under the MIT license.
Установка Composer
Composer – это инструмент для управления зависимостями языка PHP. Проще говоря, composer обновляет и устанавливает библиотеки от которых может зависеть ваш проект и позволяет организовать автозагрузку ваших классов в соответствии со стандартами psr-0 и psr-4 (наиболее актуальный в настоящий момент) без написания собственного автозагрузчика.
Установка composer для window.
Самый простой и наиболее эффективный способ установки composer для window на мой взгляд — это скачать и установить инструмент под названием Open Server. Поскольку, для работы composer требуется установленный PHP не ниже версии 5.3.2, а для работы PHP в браузере, скорее всего, понадобится web сервер вроде Apache, поэтому придется установить не мало инструментария и потратить не мало времени. Самым простым и оптимальным решением на мой взгляд будет являться установка Open Server, при установке которого, отпадет необходимость в инсталляции всех остальных инструментов, поскольку все они уже идут в наборе.
Все что потребуется для работы с composer после установки Open Server – это запустить сам Open Server и открыть его консоль. Для проверки работоспособности composer в консоли вы можете ввести команду: composer -V, которая отобразит версию composer (рис.1).
Рис.1
Если же, данный вариант вам по какой-либо причине не подходит, то вы можете скачать установщик для windows с официального сайта getcomposer.org.
Установка composer для Linux / Unix / macOS.
Существуют 2 способа установки composer: локальная и глобальная установка.
Локальная установка composer
Чтобы локально установить composer, в папке с проектом введите следующую команду:
curl -sS https://getcomposer.org/installer | php
У вас появится файл со следующим названием: composer.phar. Теперь в папке вашего проекта можно использовать команды composer. Например: инициализировать проект и установить зависимости можно следующими командами:
В файле composer.json будет располагаться вся необходимая информация, включая библиотеки, которые требуется установить в рамках данного проекта.
Глобальная установка composer
Сначала, как и при локальной установке, потребуется выполнить следующую команду:
curl -sS https://getcomposer.org/installer | php
Затем, необходимо переместить только что скачанный файл следующей командой:
mv composer.phar /usr/local/bin/composer
Вероятно, может потребоваться добавить sudo перед вводом команды, если для выполнения команды mv окажется недостаточно прав и тогда команда может выглядеть следующим образом:
sudo mv composer.phar /usr/local/bin/composer
После этого composer станет доступен глобально с помощью ключевого слова composer. Чтобы инициализировать проект и установить все зависимости в вашей папке с проектом необходимо выполнить следующие команды:
Composer успешно установлен и готов к работе.
Руководство по использованию Composer для начинающих
В этой статье рассмотрим, что такое Composer, как его установить и использовать. Другими словами, разберем как его «готовить» для начинающих.
Что такое PHP Composer
Composer – это пакетный менеджер зависимостей, предназначенный для упрощения загрузки и установки сторонних php библиотек в проект. Например, с помощью него можно очень просто добавить в разрабатываемый проект php пакеты, а также развернуть другие проекты, которые распространяются вместе с файлом «composer.json» .
«composer.json» — это текстовый файл, в котором в формате JSON описаны все сторонние пакеты от которых зависит данный проект.
Например, для того чтобы в некоторый разрабатываемый проект добавить сторонние библиотеки, в нём можно просто создать «composer.json» и описать в этом файле все необходимые зависимости. После этого для установки всех требуемых внешних php пакетов в проект достаточно будет ввести в консоли всего одну команду ( composer install ).
Другой вариант заключается в применении команды require . В этом случае самостоятельно создавать файл «composer.json» не нужно. composer require – это команда для установки php пакетов в проект посредством Composer. Кроме установки данная команда также автоматически его пропишет в файл «composer.json» . В дальнейшем для того, чтобы скопировать этот проект, например на другой компьютер, вам не нужно будет переносить туда все внешние пакеты, достаточно будет переместить туда только файл «composer.json» . Установка всех зависимостей на этом компьютере будет осуществляться уже посредством ввода всего одной команды ( composer install ).
При использовании команды require , она ещё выполняет создание файла «composer.json», если его ещё в нет проекте.
Кроме этого, Composer применяется не только для установки php библиотек. С помощью Composer осуществляется также установка различных php фреймворков (Laravel, Yii2, Symfony и др.) и CMS (Drupal, MODX 3 и др.).
Composer представляет собой обычный php скрипт, т.е. программу, написанную на языке php.
Основная цель этой программы заключается в том, чтобы предоставить веб-разработчику удобный инструмент, с помощью которого он сможет очень просто загружать и устанавливать пакеты в проект, их обновлять, а также при необходимости осуществлять их удаление. Все эти действия Composer позволяет выполнить с помощью ввода всего одной или нескольких команд. Удобно, не правда ли?
В качестве репозитория пакетов Composer по умолчанию использует packagist.org.
При установке php пакетов Composer не просто устанавливает их, он также устанавливает все зависимости, от которых эти пакеты зависят. Т.е., например, если загружаемая библиотека будет зависеть от 3 других пакетов, а каждая из них, ещё в свою очередь от нескольких и так далее, то Composer всё это установит автоматически. В противном случае, т.е. без использования Composer, загрузку и установку основных пакетов, а также всех зависимостей придётся выполнять самостоятельно.
Загрузку сторонних библиотек Composer выполняет в папку «vendor», которую данный php скрипт создаёт в корневой директории проекта. Кроме этого, он ещё создаёт специальный файл «autoload.php», включив который в проект вы сразу же подключите к нему все ранее загруженные им библиотеки.
Дополнительно при загрузке сторонних библиотек Composer генерирует ещё файл «composer.lock» . Если «composer.json» — это главный файл Composer, в котором содержится описание основных пакетов, включая требования к их версиям, то «composer.lock» — это файл, содержащий уже не требования, а реальные версии пакетов, которые им были установлены на компьютер пользователя.
Основное назначение файла «composer.lock» заключается в полном сохранении среды, в которой осуществлялась разработка и тестирование проекта.
Например, если вы захотите скопировать проект в какое-то другое место без переноса файла «composer.lock» , то выполнив в нём команду composer install , вы можете получить другие версии пакетов. Эта может случиться из-за выхода новых версий как основных пакетов, описанных в файле «composer.json» , так и их зависимостей, зависимостей их зависимостей и т.д. Например, представим что выход новых версий основных пакетов не произошёл, но обновились версии у пакетов, от которых зависят основные пакеты. В результате установки работающего проекта, можем получить неработоспособный, если в какой-нибудь новой версии одного из этих пакетов была допущена ошибка. Поэтому если вы хотите сохранить полностью среду, то при копировании проекта необходимо дополнительно включать в проект файл «composer.lock» .
Например, разворачивая проект на production, включающий в себя файл «composer.lock» , вы получите те же версии зависимостей, которые у вас были при разработке и тестировании.
Работа с Composer осуществляется в основном в консольном или терминальном режиме, т.е. с помощью ввода команд через командную строку.
Официальный сайт Composer расположен по адресу https://getcomposer.org
Если вы использовали npm, то Сomposer – это нечто подобное, только не для «node.js», а для php.
Как установить Composer
Установка Composer может выполняться по-разному. Она также зависит от используемой среды и операционной системы. Рассмотрим различные варианты.
Установка Composer в Ubuntu, выполняющейся в подсистеме Windows для Linux (WSL)
Как установить локальный веб-сервер для разработки php проектов на подсистему Windows для Linux в Windows 10 можете ознакомиться в этой статье.
Для установки Composer в Windows 10 на подсистему Windows для Linux (WSL) необходимо выполнить следующие команды:
Первая команда выполняет загрузку скрипта установщика с сайта «getcomposer.org». Вторая команда выполняет запуск этого установщика. В процессе своей работы установщик проверит некоторые настройки «php.ini», предупредит вас, если они установлены неправильно, а затем загрузит последний «composer.phar» в текущий каталог. Последняя или третья команда просто удалит загруженный установщик, который ранее использовался для установки Composer.
Phar — это исполняемые файлы (программы), которые выполняются посредством php интерпретатора.
Если при установке php пакетов у вас выводиться ошибки на отсутствие прав записи в каталог «
/.composer/cache», то в командной строке просто запустите данную команду:
Для установки Composer глобально , т.е. чтобы он был доступен с помощью команды composer необходимо дополнительно выполнить ещё следующую команду:
Эта команда переместит файл «composer.phar» из директории пользователя в директорию «/usr/local/bin» и уберёт у него расширение «phar».
Установка Composer на OpenServer (в Windows)
В OpenServer по умолчанию уже установлен Composer. Находится он в зависимости от выбранной версии PHP (устанавливается в настройках OpenServer) в директории «OSPanel\modules\PHP_*\».
Работа с Composer в OpenServer по умолчанию осуществляется в собственной консоли. Для того чтобы открыть эту консоль необходимо нажать на значок Open Server правой кнопкой мыши в области уведомлений и в открывшемся контекстном меню найти соответствующий пункт.
В консоли для проверки того, что Composer подключен, например, можно ввести команду:
Эта команда также отобразит версию Composer.
Если при выполнении этой команды отобразится сообщение, что версия Composer устарела, то её можно обновить. Осуществляется это посредством выполнения следующей команды:
Установка Composer на хостинг
Для установки Composer на хостинг, можно просто скачать данную программу самостоятельно, а затем загрузить её в корневую директорию проекта, например, с помощью FTP.
Самостоятельная загрузка нужной версии Composer выполняется со страницы «Download». Версии программы на данной странице расположены в разделе «Manual Download».
Выполнение команд на удалённом сервере обычно осуществляют с помощью SSH. По умолчанию на shared хостингах данный сетевой протокол выключен. Для его включения необходимо найти соответствующий пункт в панели управления, открыть его и нажать в нем на кнопку «Включить SSH».
Если вы пользователь Windows 10, то клиент SSH включен в систему по умолчанию. Поэтому для выполнения команд на удаленном сервере, можно в этой версии Windows не устанавливать никакой дополнительный софт, а например, воспользоваться программой «Командная строка» или «Windows PowerShell».
Основные команды Composer
Разберем основные команды Composer для начинающих.
Если вы используете «composer.phar» локально, то приведённые команды необходимо соответственно изменить в зависимости от того как настроено ваше окружение.
Например, если файл «composer.phar» находится в текущем каталоге и интерпретатор php доступен без указания пути к нему, то установка пакета будет осуществляться так:
Установка пакета
Установка пакета через Composer осуществляется посредством выполнения следующей команды:
vendor — это имя поставщика php пакета, а package — это его название.
Например, добавление в проект пакета twig через composer будет осуществляться так:
Команда require не только загрузит требуемую библиотеку в проект, но и пропишет её ещё в файле «composer.json», т.е. обновит его. Если устанавливаемый пакет зависит от других библиотек, то они также будут установлены или обновлены. Кроме этого ещё будет обновлён файл «composer.lock».
Установка всех пакетов в проект
Установка сразу всех пакетов в проект осуществляется посредством команды:
Эта команда работает следующим образом:
- проверяет, имеется ли файл «composer.lock»;
- если файл «composer.lock» существует, то устанавливает версии, указанные в нём;
- если файла «composer.lock» нет, то разрешает зависимости, описанные в файле «composer.json», создаёт файл «composer.lock» и устанавливает зависимости.
Обновление зависимостей
Команда для обновления установленных библиотек:
Эта команда обновит все зависимости установленные в проекте до последних версий (в соответствии с «composer.json») и файл «composer.lock».
Если необходимо обновить не все пакеты, а один или несколько, то их необходимо перечислить через пробел.
Команда для обновления одной библиотеки:
Удаление пакета
Команда Composer для удаления пакета из проекта:
Для удаления одновременно нескольких пакетов можете их перечислить через пробел:
Обновление Composer
Команда для обновления Сomposer до последней версии:
Обновление lock файла без обновления пакетов
Для обновления файла «composer.lock» без обновления самих пакетов:
Создать новый проект
Создание нового проекта из указанного пакета в текущую директорию выполняется так:
Создание нового проекта в указанную директорию выполняется так:
Вывод всех установленных библиотек
Команда для отображения всех установленных php пакетов:
Проверка валидности файла «composer.json»
Команда с помощью которой можно проверить валидность файла «composer.json»:
Вывод списка всех доступных команд
Вывести на экран все доступные команды Composer можно так:
Очистка внутреннего кэша пакетов Composer
Выполнение очистки внутреннего кэша пакетов Composer осуществляется с помощью команды:
Получение подробной справки по команде
Вывод подробной справки по команде:
Например, вывести подробную инструкцию по использованию команды require можно следующим образом:
Вывести зависимости для указанного пакета
Вывести все зависимости указанного пакета от других можно с помощью команды:
Создание базового варианта файла composer.json с помощью мастера
Создание базового варианта файла composer.json с помощью мастера, т.е. посредством ответов на вопросы:
Примеры использования Composer для установки PHP фреймворков и CMS
Установка фреймворка Laravel в текущую директорию осуществляется через Composer посредством ввода следующей команды:
Установка последней версии фреймворка Yii2 через Composer:
Установка разрабатываемой версии MODX Revolution 3 через Composer:
Установка через Composer нового приложения Symfony, предназначенного для создания традиционных веб-приложений:
Установка Symfony для использования его для создания микросервисов, консольных приложений или API осуществляется так:
Установка Drupal через Composer:
Как удалить Composer
Composer — это файл. В большинстве случаев для удаления его достаточно просто удалить.
Если вы не помните куда был установлен Composer, то просто поищете, например, с помощью встроенной системы поиска операционной системы этот файл.
Но так удалять не всегда корректно, все зависит от того, как вы его устанавливали. Если у инструмента, с помощью которого вы его устанавливали, есть возможность и его удаление, то выполняйте это действие с помощью этого инструмента.
Например, если вы Composer устанавливали с помощью инструмента apt-get, то и используйте его для удаления этой программы.
Например, если вы устанавливали Сopmoser в Windows с помощью программы Composer-Setup.exe, то удаления программы выполняйте стандартным образом через «Приложения и возможности» (только в Windows 10) или через «Удаление или изменение программы».
Дополнительно можно удалить папку с внутренним кэшем Composer. В Linux эта папка расположена в «/home//.composer», в Windows – «C:\Users\\AppData\Roaming\Composer».