Как установить композитор на Ubuntu
Обновлено: 21.11.2024
Чтобы быстро установить Composer в текущий каталог, запустите в терминале следующий скрипт. Чтобы автоматизировать установку, воспользуйтесь руководством по программной установке Composer.
Этот скрипт установки просто проверит некоторые настройки php.ini, предупредит вас, если они установлены неправильно, а затем загрузит последнюю версию composer.phar в текущий каталог. 4 строки выше будут по порядку:
- Загрузить программу установки в текущий каталог
- Проверьте установщик SHA-384, который вы также можете проверить здесь
- Запустите программу установки
- Удалите программу установки
Скорее всего, вы хотите поместить composer.phar в каталог в вашем PATH, чтобы вы могли просто вызвать composer из любого каталога (Глобальная установка), используя, например:
ВНИМАНИЕ! Не распространяйте установочный код повторно. Он будет меняться с каждой версией установщика. Вместо этого перейдите на эту страницу или узнайте, как программно установить Composer.
Примечательные параметры программы установки
--install-dir
Вы можете установить composer в определенный каталог, используя параметр --install-dir и указав целевой каталог. Пример:
php composer-setup.php --install-dir=bin
--имя_файла
Вы можете указать имя файла (по умолчанию: composer.phar ), используя параметр --filename. Пример:
php composer-setup.php --filename=composer
--версия
Вы можете установить composer в определенный выпуск, используя параметр --version и указав целевой выпуск. Пример:
php composer-setup.php --version=1.0.0-alpha8
Установщик предоставляет дополнительные параметры для определенных сред, используйте параметр --help, чтобы просмотреть их все.
Скачать каналы
По умолчанию установщик и самообновление композитора загружают только последнюю стабильную версию. Однако вы можете выбрать другой канал загрузки.
Если вы хотите помочь протестировать предварительные версии, вы можете использовать флаг --preview либо в установщике, либо в самообновлении.
Для сборок моментальных снимков, созданных из последней фиксации Composer, вы можете использовать флаг --snapshot.
Для программной установки определенных основных версий можно использовать флаг --1 или --2. Пример:
php composer-setup.php --preview
Загрузка вручную
Если вы предпочитаете загружать phar вручную, вот доступные версии:
Composer и весь контент на этом сайте выпущены под лицензией MIT.
Composer – популярный инструмент управления зависимостями для PHP, созданный главным образом для облегчения установки и обновления зависимостей проекта. Он проверит, от каких других пакетов зависит конкретный проект, и установит их для вас, используя соответствующие версии в соответствии с требованиями проекта. Composer также часто используется для начальной загрузки новых проектов на основе популярных фреймворков PHP, таких как Symfony и Laravel.
В этом руководстве вы установите Composer и начнете работу с ним в системе Ubuntu 20.04.
Предпосылки
Чтобы следовать этому руководству, вам потребуется доступ к серверу Ubuntu 20.04 в качестве пользователя sudo без полномочий root и включенный брандмауэр на вашем сервере. Чтобы настроить это, вы можете следовать нашему руководству по первоначальной настройке сервера для Ubuntu 20.04.
Если вы предпочитаете следовать этому руководству, используя терминал в браузере, нажмите кнопку Запустить интерактивный терминал! кнопку, чтобы начать. Вы сможете поэкспериментировать и запустить все команды прямо в браузере.
Запустите интерактивный терминал!
Шаг 1 — Установка PHP и дополнительных зависимостей
Помимо зависимостей, которые уже должны быть включены в вашу систему Ubuntu 20.04, таких как git и curl , Composer требует php-cli для выполнения PHP-скриптов в командной строке и unzip для извлечения заархивированных архивов. Сейчас мы установим эти зависимости.
Сначала обновите кеш менеджера пакетов, выполнив:
Затем выполните следующую команду, чтобы установить необходимые пакеты:
Вам будет предложено подтвердить установку, набрав Y, а затем ENTER .
После установки необходимых компонентов можно приступать к установке Composer.
Шаг 2 — Загрузка и установка Composer
Composer предоставляет сценарий установки, написанный на PHP. Мы скачаем его, убедимся, что он не поврежден, а затем используем его для установки Composer.
Убедитесь, что вы находитесь в своем домашнем каталоге, а затем получите установщик с помощью curl :
Далее мы проверим, соответствует ли загруженный установщик хэшу SHA-384 последней версии установщика, найденной на странице открытых ключей и подписей Composer. Чтобы упростить этап проверки, вы можете использовать следующую команду для программного получения последнего хэша со страницы Composer и сохранения его в переменной оболочки:
Если вы хотите проверить полученное значение, вы можете запустить:
Теперь выполните следующий PHP-код, как показано на странице загрузки Composer, чтобы убедиться, что сценарий установки безопасен для запуска:
Вы увидите следующий вывод:
Если в выводе указано, что установщик поврежден , вам нужно снова загрузить сценарий установки и еще раз проверить, что вы используете правильный хэш. Затем повторите процесс проверки. Если у вас есть проверенный установщик, вы можете продолжить.
Чтобы установить композитор глобально, используйте следующую команду, которая загрузит и установит Composer как общесистемную команду с именем composer в /usr/local/bin :
Вы увидите вывод, похожий на этот:
Чтобы проверить установку, запустите:
Это подтверждает, что Composer был успешно установлен в вашей системе и доступен для всей системы.
Примечание. Если вы предпочитаете иметь отдельные исполняемые файлы Composer для каждого проекта, размещенного на этом сервере, вы можете установить его локально для каждого проекта. Этот метод также полезен, когда у вашего системного пользователя нет разрешения на установку программного обеспечения в масштабе всей системы.
Для этого используйте команду php /tmp/composer-setup.php. Это создаст файл composer.phar в вашем текущем каталоге, который можно запустить с помощью php composer.phar .
Теперь давайте рассмотрим использование Composer для управления зависимостями.
Шаг 3. Использование Composer в проекте PHP
Проекты PHP часто зависят от внешних библиотек, и управлять этими зависимостями и их версиями может быть непросто. Composer решает эту проблему, отслеживая версии и зависимости проекта, а также облегчая процесс поиска, установки и обновления пакетов, необходимых для проекта.
Чтобы использовать Composer в своем проекте, вам понадобится файл composer.json. Файл composer.json сообщает Composer, какие зависимости необходимо загрузить для вашего проекта и какие версии каждого пакета разрешено устанавливать. Это чрезвычайно важно для обеспечения согласованности проекта и предотвращения установки нестабильных версий, которые потенциально могут вызвать проблемы с обратной совместимостью.
Вам не нужно создавать этот файл вручную — при этом часто возникают синтаксические ошибки. Composer предлагает интерактивный способ создания нового файла composer.json на основе ввода пользователя, что является хорошим выбором, если вы планируете позже поделиться своим проектом в качестве общедоступного пакета на Packagist. Composer также автоматически создает базовый файл composer.json, когда вы запускаете команду composer require для включения зависимости во вновь созданный проект.
Процесс использования Composer для установки пакета в качестве зависимости в проекте включает следующие шаги:
Давайте попробуем это с демо-приложением.
Целью этого приложения является преобразование заданного предложения в строку, удобную для URL, — slug. Это обычно используется для преобразования заголовков страниц в URL-пути (например, в последней части URL-адреса для этого руководства).
Давайте начнем с создания каталога для нашего проекта. Мы назовем это slugify:
Хотя это и не требуется, теперь вы можете запустить команду composer init, чтобы создать подробный файл composer.json для своего проекта. Поскольку единственная цель нашего проекта — продемонстрировать, как устанавливать зависимости с помощью Composer, мы будем использовать более простой файл composer.json, который будет сгенерирован автоматически, когда нам понадобится наш первый пакет.
Вы увидите два числа справа от каждого пакета в списке. Число вверху показывает, сколько раз пакет был установлен через Composer, а число внизу показывает, сколько раз пакет был отмечен звездочкой на GitHub. Вообще говоря, пакеты с большим количеством установок и большим количеством звезд имеют тенденцию быть более стабильными, поскольку их использует очень много людей. Также важно проверить актуальность описания пакета, чтобы убедиться, что это то, что вам нужно.
Нам нужен преобразователь строки в ярлык. Судя по результатам поиска, пакет cocur/slugify , который отображается в качестве первого результата на этой странице, кажется подходящим, с разумным количеством установок и звездочек.
Пакеты в Packagist имеют имя поставщика и имя пакета. Каждый пакет имеет уникальный идентификатор (пространство имен) в том же формате, который GitHub использует для своих репозиториев: поставщик/пакет. Библиотека, которую мы хотим установить, использует пространство имен cocur/slugify. Вам нужно пространство имен пакета, чтобы оно требовалось в вашем проекте.
Теперь, когда вы точно знаете, какой пакет хотите установить, вы можете запустить composer require, чтобы включить его в качестве зависимости, а также создать файл composer.json для своего проекта. Одна вещь, которую важно отметить при запросе пакетов, заключается в том, что Composer отслеживает как зависимости уровня приложения, так и зависимости уровня системы. Зависимости системного уровня важны для указания того, какие модули PHP зависят от пакета.В случае с пакетом cocur/slugify требуется модуль PHP, который мы еще не установили.
Если требуемый пакет зависит от системной библиотеки, которая в данный момент не установлена на вашем сервере, вы получите сообщение об ошибке, указывающее, какое требование отсутствует:
Чтобы решить проблему зависимости системы, мы можем найти отсутствующий пакет с помощью apt search:
Найдя правильное имя пакета, вы можете снова использовать apt для установки системной зависимости:
После завершения установки вы можете снова запустить команду composer require:
Как видно из вывода, Composer автоматически решает, какую версию пакета использовать. Если вы сейчас проверите каталог вашего проекта, он будет содержать два новых файла: composer.json и composer.lock , а также каталог поставщика:
Файл composer.lock используется для хранения информации об установленных версиях каждого пакета, а также для обеспечения использования одних и тех же версий, если кто-то другой клонирует ваш проект и устанавливает его зависимости. В каталоге поставщика находятся зависимости проекта. Папку поставщика не следует передавать в систему управления версиями — вам нужно только включить файлы composer.json и composer.lock.
При установке проекта, который уже содержит файл composer.json, запустите composer install, чтобы загрузить зависимости проекта.
Давайте кратко рассмотрим ограничения версий. Если вы проверите содержимое вашего файла composer.json, вы увидите что-то вроде этого:
Вы могли заметить специальный символ ^ перед номером версии в composer.json. Composer поддерживает несколько различных ограничений и форматов для определения требуемой версии пакета, чтобы обеспечить гибкость, а также сохранить стабильность вашего проекта. Оператор вставки ( ^ ), используемый автоматически созданным файлом composer.json, является рекомендуемым оператором для максимальной совместимости после семантического управления версиями. В этом случае он определяет 4.0 как минимальную совместимую версию и разрешает обновления до любой будущей версии ниже 5.0.
Вообще говоря, вам не нужно вмешиваться в ограничения версий в файле composer.json. Однако в некоторых ситуациях может потребоваться изменить ограничения вручную, например, когда выпущена новая основная версия требуемой библиотеки и вы хотите ее обновить, или когда библиотека, которую вы хотите использовать, не соответствует семантическому управлению версиями. р>
Вот несколько примеров, которые помогут вам лучше понять, как работают ограничения версии Composer:
Давайте попробуем это в нашем демонстрационном приложении. Откройте новый файл с именем test.php в текстовом редакторе:
Добавьте следующий код, который загружает файл vendor/autoload.php, загружает зависимость cocur/slugify и использует ее для создания ярлыка:
Сохраните файл и выйдите из редактора.
Теперь запустите скрипт:
Это приводит к выводу: привет, мир, это длинное предложение, и мне нужно сделать из него слаг .
Зависимости нуждаются в обновлении при выходе новых версий, поэтому давайте посмотрим, как с этим справиться.
Шаг 5 — Обновление зависимостей проекта
Всякий раз, когда вы хотите обновить зависимости вашего проекта до более поздних версий, запустите команду обновления:
Это проверит наличие более новых версий библиотек, необходимых для вашего проекта. Если будет найдена более новая версия и она совместима с ограничением версии, определенным в файле composer.json, Composer заменит установленную предыдущую версию. Файл composer.lock будет обновлен, чтобы отразить эти изменения.
Вы также можете обновить одну или несколько конкретных библиотек, указав их следующим образом:
Обязательно проверяйте файлы composer.json и composer.lock в системе управления версиями после обновления зависимостей, чтобы другие могли также установить эти более новые версии.
Заключение
Composer — это мощный инструмент, который может значительно облегчить работу по управлению зависимостями в проектах PHP. Он обеспечивает надежный способ обнаружения, установки и обновления пакетов PHP, от которых зависит проект. В этом руководстве мы увидели, как установить Composer, как включить новые зависимости в проект и как обновить эти зависимости после выхода новых версий.
Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!
Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.
Composer — это инструмент для управления зависимостями в PHP. Он позволяет вам объявить библиотеки, от которых зависит ваш проект, и будет управлять ими (устанавливать/обновлять) за вас.
Composer не является менеджером пакетов в том же смысле, что и Yum или Apt. Да, он имеет дело с «пакетами» или библиотеками, но управляет ими отдельно для каждого проекта, устанавливая их в каталог (например, vendor ) внутри вашего проекта.По умолчанию он ничего не устанавливает глобально. Таким образом, это менеджер зависимостей. Однако для удобства он поддерживает «глобальный» проект с помощью глобальной команды.
Эта идея не нова, и Composer сильно вдохновлен npm узла и сборщиком ruby.
- У вас есть проект, который зависит от нескольких библиотек.
- Некоторые из этих библиотек зависят от других библиотек.
- Позволяет объявлять библиотеки, от которых вы зависите.
- Определяет, какие версии каких пакетов можно и нужно установить, и устанавливает их (то есть загружает их в ваш проект).
- Вы можете обновить все свои зависимости одной командой.
Дополнительную информацию об объявлении зависимостей см. в главе «Основное использование».
Композитор последней версии требует для работы PHP 7.2.5. Версия с долгосрочной поддержкой (2.2.x) по-прежнему предлагает поддержку PHP 5.3.2+, если вы застряли на устаревшей версии PHP. Также требуются некоторые чувствительные настройки php и флаги компиляции, но при использовании установщика вы будете предупреждены о любых несовместимостях.
Для установки пакетов из исходников вместо обычных zip-архивов вам понадобятся git, svn, focus или hg, в зависимости от того, как пакет контролируется версиями.
Composer является мультиплатформенным, и мы стремимся сделать так, чтобы он одинаково хорошо работал на Windows, Linux и macOS.
Composer предлагает удобную программу установки, которую можно запустить непосредственно из командной строки. Не стесняйтесь загружать этот файл или просматривать его на GitHub, если вы хотите узнать больше о внутренней работе установщика. Исходный код — обычный PHP.
Вкратце, есть два способа установить Composer. Локально как часть вашего проекта или глобально как системный исполняемый файл.
Чтобы установить Composer локально, запустите программу установки в каталоге вашего проекта. Инструкции см. на странице загрузки.
Установщик проверит несколько настроек PHP, а затем загрузит composer.phar в ваш рабочий каталог. Этот файл является двоичным файлом Composer. Это PHAR (архив PHP), формат архива для PHP, который, среди прочего, можно запустить из командной строки.
Теперь запустите php composer.phar, чтобы запустить Composer.
Вы можете установить Composer в определенный каталог, используя параметр --install-dir, а также дополнительно (пере)именовать его, используя параметр --filename. При запуске установщика, следуя инструкциям на странице загрузки, добавьте следующие параметры:
Теперь запустите php bin/composer, чтобы запустить Composer.
Вы можете разместить Composer PHAR где угодно. Если вы поместите его в каталог, который является частью вашего PATH, вы сможете получить к нему глобальный доступ. В системах Unix вы даже можете сделать его исполняемым и вызывать его без прямого использования интерпретатора php.
После запуска установщика, следуя инструкциям на странице загрузки, вы можете запустить его, чтобы переместить composer.phar в каталог, который находится на вашем пути:
Если вы хотите установить его только для своего пользователя и не требовать прав суперпользователя, вы можете вместо этого использовать ~/.local/bin, который доступен по умолчанию в некоторых дистрибутивах Linux.
Примечание. Если описанное выше не удается из-за разрешений, вам может потребоваться запустить его снова с помощью sudo .
Примечание. В некоторых версиях macOS каталог /usr не существует по умолчанию. Если вы получили сообщение об ошибке «/usr/local/bin/composer: нет такого файла или каталога», вам необходимо создать каталог вручную, прежде чем продолжить: mkdir -p /usr/local/bin .
Примечание: Чтобы узнать, как изменить PATH, прочитайте статью в Википедии и/или воспользуйтесь поисковой системой по вашему выбору.
Теперь запустите composer, чтобы запустить Composer вместо php composer.phar.
Это самый простой способ настроить Composer на вашем компьютере.
Загрузите и запустите Composer-Setup.exe. Он установит последнюю версию Composer и настроит ваш PATH, чтобы вы могли вызывать composer из любого каталога в вашей командной строке.
Примечание. Закройте текущий терминал. Тестовое использование с новым терминалом: это важно, поскольку PATH загружается только при запуске терминала.
Перейдите в каталог в PATH и запустите программу установки, следуя инструкциям на странице загрузки, чтобы загрузить composer.phar .
Создайте новый файл composer.bat вместе с composer.phar :
Добавьте каталог в переменную среды PATH, если это еще не сделано. Для получения информации об изменении переменной PATH см. эту статью и/или воспользуйтесь поисковой системой по вашему выбору.
Закройте текущий терминал. Тестовое использование с новым терминалом:
Теперь, когда вы установили Composer, вы готовы его использовать! Перейдите к следующей главе для небольшой демонстрации.
Нашли опечатку? Что-то не так в этой документации? Разветвите и отредактируйте его!
Composer и весь контент на этом сайте выпущены под лицензией MIT.
PHP Composer — это приложение, которое отслеживает зависимости для проекта.Он не заменяет системные менеджеры пакетов, такие как apt или yum.
Composer позволяет указать набор библиотек для конкретного проекта, затем определяет версии и зависимости и устанавливает их.
В этом руководстве показано, как установить и начать работу с PHP Composer в Ubuntu 18.04.
- Система Ubuntu 18.04 Linux
- Учетная запись пользователя с правами sudo
- Доступ к командной строке/окну терминала (Ctrl+Alt+T)
Шаги по установке PHP Composer в Ubuntu
Шаг 1. Обновите локальный репозиторий
Начните с обновления списков локальных репозиториев, введя в командной строке следующее:
Шаг 2. Загрузите установщик Composer
Чтобы загрузить установщик Composer, используйте команду:
Шаг 3. Проверьте целостность загрузки
<р>1. Посетите страницу открытых ключей Composer. Скопируйте подпись установщика (SHA-384). <р>2. Установите переменную оболочки кода: <р>3. Запустите приведенный ниже скрипт, чтобы сравнить официальный хеш с тем, который вы скачали:Сценарий сообщит либо о том, что загрузка подтверждена, либо о том, что она повреждена. Если он поврежден, повторно загрузите файл.
Шаг 4. Установите PHP Composer
<р>1. Для установки PHP Composer требуются curl, unzip и несколько других утилит. Установите их, введя следующее:
Установите Composer как команду, доступную из всей системы.
<р>2. Для установки в /usr/local/bin. введите:Установщик должен вывести:
<р>3. После завершения установки проверьте правильность установки:Система должна вывести номер установленной версии, например:
<р>4. Чтобы удалить программу установки:Основное использование Composer
Composer предназначен для отслеживания зависимостей для каждого проекта. Это облегчает другим пользователям создание такой же среды. Composer использует файл composer.json для отслеживания необходимого программного обеспечения и разрешенных версий.
Он также использует файл composer.lock для обеспечения согласованности, если кто-то скопирует каталог. Эти файлы создаются автоматически с помощью команды require.
<р>1. Откройте терминал и введите следующее: <р>3. В окне терминала введите:Система загрузит программное обеспечение и создаст файлы composer.json и composer.lock.
Примечание. Monolog — это пакет для управления файлами журналов. Имя перед косой чертой — это поставщик, а имя после косой черты — имя пакета.
<р>4. После завершения процесса перечислите содержимое каталога:Вы должны увидеть файлы composer.json и composer.lock вместе с каталогом поставщика.
<р>5. Чтобы просмотреть содержимое файла composer.json:Система покажет вам, что она добавила программное обеспечение monolog. Знак ^ рядом с номером версии указывает на минимальную версию программного обеспечения.
Настройка автозагрузки
PHP не загружает классы автоматически. Однако вы можете настроить Composer на автоматическую загрузку классов. Это значительно упрощает работу с зависимостями.
<р>1. Создайте новый файл в своем любимом текстовом редакторе: <р>2. Введите в файл следующее:<р>3. Запишите файл ( Ctrl+O ) и выйдите ( Ctrl+X ).
<р>4. Теперь вы можете запустить команду для автозагрузки монолога:Обновление зависимостей
Чтобы обновить все зависимости в файле composer.json, введите команду:
Это обновит все зависимости в соответствии с версией, указанной в файле.
Чтобы обновить одну (или несколько) зависимостей по отдельности:
Теперь вы хорошо понимаете, как установить и начать использовать PHP Composer. Мы также рассмотрели настройку автозагрузки и обновление зависимостей.
Читайте также: