Как установить composer на ubuntu

Обновлено: 06.07.2024

Composer – это популярный менеджер зависимостей для PHP, который упрощает процесс установки и обновления зависимостей вашего проекта. Composer проверяет, от каких пакетов зависит проект, а затем устанавливает все необходимые версии согласно требованиям.

Также Composer часто используется для запуска нового проекта на основе популярных PHP-фреймворков типа Symfony или Laravel.

Данный мануал поможет установить и начать работу с Composer на сервере Ubuntu 20.04.

Требования

Для работы вам понадобится сервер Ubuntu 20.04, предварительно настроенный по этому мануалу. Чтобы приступить, войдите в сессию своего пользователя sudo.

1: Установка PHP и других зависимостей Composer

Прежде чем начать установку Composer, нужно установить все зависимости программы. Часть из них установлена на вашем сервере по умолчанию (например, git и curl). Еще Composer нужен пакет php-cli для запуска скриптов PHP из командной строки и unzip для распаковки архивов.

Сначала обновите индекс пакетов:

sudo apt update

Все необходимые пакеты можно установить при помощи команды:

sudo apt install php-cli unzip

Чтобы подтвердить установку, нажмите Y и ENTER.

2: Загрузка и установка Composer

Composer предоставляет написанный на PHP инсталлятор. Его нужно загрузить и убедиться в целостности пакета.

Перейдите в домашний каталог и извлеките инсталлятор при помощи curl:

Запустите скрипт PHP, чтобы убедиться, что хэш SHA-384 пакета совпадает с хэшем инсталлятора, указанным на этой странице. Чтобы упростить этап проверки, вы можете использовать следующую команду, она извлечет последний хеш со страницы Composer и сохранит его в переменной оболочки:

Чтобы проверить полученное значение, введите:

echo $HASH
e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

А затем запустите скрипт PHP, который подтвердит подлинность и надежность загруженного инсталлятора (как рекомендует сайт Composer):

Если значения совпали, команда вернёт:

Если команда вернула Installer corrupt, загрузите скрипт снова и повторите проверку. Когда хэш совпадет, вы сможете продолжить работу.

Чтобы выполнить глобальную установку composer, введите эту команду. Эта команда загрузит пакет менеджера Composer и выполнит его глобальную установку в /usr/local/bin, после чего в системе появится общедоступная команда composer.

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Вы получите такой вывод:

All settings correct for using Composer
Downloading.
Composer (version 1.10.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Чтобы убедиться в том, что установка прошла успешно, запустите команду:

Она должна вернуть:

. ______
. / ____/___ ____ ___ ____ ____ ________ _____
./ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
. /_/
Composer version 1.10.5 2020-04-10 11:44:22
Usage:
command [options] [arguments] Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
--no-cache Prevent use of the cache
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
.

Это значит, что менеджер зависимостей Composer был успешно установлен.

Примечание: Также менеджер Composer можно установить индивидуально для каждого отдельного проекта. Локальный вариант установки особенно хорош в том случае, если пользователь не имеет права выполнять общесистемную установку программы. Чтобы установить Composer локально, загрузите пакет и проверьте его подлинность (как показано выше), а затем запустите:

Команда сгенерирует файл composer.phar в локальном каталоге. Его можно запустить с помощью команды:

3: Использование Composer в проекте PHP

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

Чтобы интегрировать Composer в свой проект, вам нужен файл composer.json. Он содержит информацию о зависимостях, которые должен скачать Composer для определённого проекта. Он позволяет задать необходимые версии зависимостей и исключить их нестабильные и потенциально опасные версии.

Этот файл не рекомендуется создавать вручную, поскольку при этом можно допустить ошибку в синтаксисе. Composer автоматически создаст файл composer.json после того, как вы добавите первую зависимость при помощи команды require (это очень удобно, если вы хотите поделиться своим файлом на Packagist). Остальные зависимости можно добавить с помощью этой же команды require, и при этом нет необходимости вручную редактировать файл.

Процесс установки зависимостей проекта при помощи Composer состоит из следующих этапов:

Рассмотрим этот процесс на примере простого приложения.

Цель этого приложения – превратить заданное предложение в «понятный» URL (или slug); как правило, это приложение используется для преобразования названий страниц в URL-адреса (к примеру, обратите внимание на последний сегмент URL-адреса этого урока).

Итак, создайте каталог проекта; для примера назовём его slugify:


mkdir slugify
cd slugify

Хотя это и не обязательно, сейчас вы можете запустить команду composer init, чтобы создать подробный файл composer.json для вашего проекта. Поскольку единственной целью нашего проекта является демонстрация установки зависимостей с помощью Composer, мы будем использовать более простой файл composer.json, который будет сгенерирован автоматически.

Справа возле каждого результата поиска можно увидеть два счётчика. Первый показывает, сколько раз пакет был установлен; второй счётчик показывает, сколько раз пакет был отмечен на GitHub. Результат поиска можно переупорядочить согласно показателю одного из счётчиков. Конечно, пакеты с большим показателем счётчиков, как правило, более стабильны, так как они чаще используются. Также важно проверить описание пакета – действительно ли это нужный пакет?

Сейчас нам нужно найти простой конвертёр адресов. В мануале мы используем пакет cocur/slugify, первый в выдаче.

Обратите внимание: Packagist указывает имя вендора и имя пакета (vendor name и package name). Каждому пакету присваивается уникальный идентификатор, или пространство имён (в том же формате, что и для репозиториев Github: vendor/package). Необходимый пакет называется cocur/slugify. Чтобы загрузить пакет автоматически, нужно указать менеджеру зависимостей пространство имён пакета.

Итак, теперь вам известно точное имя пакета. Используйте команду composer require, чтобы добавить этот пакет в файл composer.json.

При запросе пакетов важно отметить, что Composer отслеживает зависимости как уровня приложения, так и уровня системы. Зависимости системного уровня важны для определения PHP модулей, на которых основан пакет. В случае пакета cocur/slugify требуется модуль PHP, который мы еще не установили.

Если необходимый пакет основан на системной библиотеке, которая еще не установлена в системе, вы получите ошибку:

composer require cocur/slugify
Using version ^4.0 for cocur/slugify
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for cocur/slugify ^4.0 -> satisfiable by cocur/slugify[v4.0.0].
- cocur/slugify v4.0.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
.

Чтобы устранить эту ошибку, нужно найти недостающий пакет:

Узнав точное имя пакета, установите его с помощью пакетного менеджера apt:

sudo apt install php-mbstring

composer require cocur/slugify
Using version ^4.0 for cocur/slugify
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing cocur/slugify (v4.0.0): Downloading (100%)
Writing lock file
Generating autoload files

Как видите, Composer автоматически определяет необходимую версию пакета. Проверьте каталог проекта, теперь он содержит два файла (composer.json и composer.lock) и каталог vendor:

ls -l
total 12
-rw-rw-r-- 1 8host 8host 59 May 4 13:56 composer.json
-rw-rw-r-- 1 8host 8host 3229 May 4 13:56 composer.lock
drwxrwxr-x 4 8host 8host 4096 May 4 13:56 vendor

Примечание: При установке проекта, который уже содержит файл composer.json, используйте следующую команду, чтобы установить зависимости проекта:

Теперь давайте посмотрим на ограничения версий. Файл composer.json содержит примерно такой код:

Обратите внимание на знак вставки (^) перед номером версии. Для определения версии пакета Composer может использовать несколько типов ограничений и форматов; эта функция позволяет следить за стабильностью проекта. Оператор ^ используется в файле composer.json для максимальной совместимости версий. В данном случае он определяет версию 4.0 как минимальную и разрешает обновления до версии 5.0.

В целом, вам не придётся особенно долго возиться с ограничениями версий в файле composer.json. Однако в некоторых ситуациях может потребоваться отредактировать ограничения вручную (например, если вышла новая версия библиотеки, но composer.json не разрешает обновиться до неё).

Эта таблица поможет разобраться в том, как работают ограничения версий Composer:

Подробнее об ограничениях версий можно прочесть в документации программы.

4: Сценарий автозагрузки

Также Composer использует сценарий autoload, который можно добавить в проект для поддержки автозагрузки. Он упрощает работу с зависимостями и определяет собственные пространства имен.

Вам нужно просто добавить файл vendor/autoload.php в скрипты PHP перед установкой класса.

Вернёмся к тестовому приложению slugify. Создайте скрипт test.php и задайте в нём библиотеку cocur/slugify:

Добавьте в файл код, который запустит vendor/autoload.php, загрузит зависимость cocur/slugify и использует ее для преобразования текста.

<?php
require __DIR__ . '/vendor/autoload.php';
use Cocur\Slugify\Slugify;
$slugify = new Slugify();
echo $slugify->slugify('Hello World, this is a long sentence and I need to make a slug from it!');

Сохраните и закройте файл.

5: Обновление зависимостей проекта

Чтобы обновить зависимости проекта, используйте команду update:

Она проверит наличие новых версий тех пакетов, от которых зависит ваш проект. Обнаружив новую версию, которая разрешена ограничениями, менеджер зависимостей установит её вместо устаревшей версии данного пакета. Все изменения будут внесены в файл composer.lock.

Можно также обновить несколько определённых библиотек одновременно:

composer update vendor/package vendor2/package2

После обновления проверьте файлы composer.json и composer.lock.

Заключение

Composer – очень мощный инструмент, необходимый каждому разработчику PHP.

Это надежный способ обнаружения, установки и своевременного обновления пакетов PHP, от которых зависит проект. Теперь вы умеете устанавливать Composer, добавлять новые зависимости в проект и обновлять их после появления новых версий.

Composer - это свободный пакетный менеджер для установки зависимостей и самих пакетов PHP. Он разработан Нильсом Адерманом и Хорди Боггиано. С помощью скрипта можно в несколько нажатий установить нужный пакет, а также все его зависимости, например, ZendFramework или Symfony. Он широко используется разработчиками PHP скриптов.

В этой статье мы рассмотрим как установить Composer Ubuntu 20.04 и более поздних версиях, а также как пользоваться утилитой.

Установка Composer в Ubuntu

Вы не можете установить программу из официальных репозиториев. Нужно скачать скрипт из официального сайта и поместить его в папку с вашим проектом. Но сначала обновите систему и установите зависимости:

sudo apt update

sudo apt install curl php-cli php-mbstring git unzip


Установка Composer ubuntu может быть выполнена двумя способами. Либо локально в папку проекта, либо же глобально, для всей системы. Сначала рассмотрим как установить программу локально. Перейдите в папку проекта:

Выполните такую команду для загрузки установочного скрипта:

Затем запустите этот скрипт, чтобы создать файл composet.phar, который и будет использоваться для установки пакетов:


Теперь вы можете проверить работает ли Composer:


Теперь рассмотрим как установить программу глобально для всей системы. Вы можете скачивать файл установщика в любую папку, например, домашнюю:

Только команда установки будет отличаться, в ней мы указываем папку, куда нужно установить скрипт:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer


Для проверки работы, вы можете выполнить команду:


Использование Composer

Для того чтобы указать какие пакеты нужно устанавливать используется конфигурационный файл composer.json. Сначала нужно его инициализировать в папке проекта. Для этого выполните:


Затем ответьте на вопросы программы. Можно оставить ответы по умолчанию. В файле сообщаются зависимости вашего проекта, а также их версии. Создайте этот файл в корневой папке вашего проекта. Синтаксис записей очень прост, и если вы раньше имели дело с JSON, то без проблем разберетесь:


"require":
"производитель/пакет": "версия"
>
"require-dev":
"производитель/пакет": "версия"
>
>


На его странице вы можете видеть команду composer, которой его можно установить, в ней полное имя, а чуть ниже последнюю версию.

Для установки пакета выполните команду со страницы:

composer require p3k/picofeed

После установки пакет появится в секции require. Если во время установки вы получаете ошибку, например, такую:


Это означает, что пакету не хватает каких-либо зависимостей или возникли конфликты с уже установленными пакетами. В данном случае не хватает расширения PHP Dom. Вы можете установить его командой:

sudo apt install php-dom

Для того чтобы установить все пакеты, описанные в файле конфигурации, используйте команду:

Например, возьмем небольшой пример чтения ленты rss с GitHub:

Установленные пакеты можно удалить. Например:

composer remove picofeed


Если версии пакетов устарели, то вы можете их обновить с помощью одной команды:

Выводы

В этой небольшой статье мы рассмотрели как выполняется установка Composer Ubuntu 20.04 и 18.04, а также как использовать эту утилиту в своем проекте для разрешения зависимостей. Это очень удобно, когда вы можете один раз указать нужные пакеты и больше не заботиться об их установке и обновлении на других машинах.

В этом руководстве мы покажем вам, как установить и использовать Composer на компьютере с Ubuntu 18.04. Те же шаги можно использовать для Ubuntu 16.04.

Подготовка

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo и у вас установлен PHP в вашей системе Ubuntu 18.04 .

Установка PHP Composer

Чтобы установить Composer в вашей системе Ubuntu, выполните следующие действия:

Перед загрузкой и установкой Composer сначала обновите индекс пакетов и установите необходимые требования:

Теперь, когда на нашем компьютере установлен php cli, мы можем загрузить установщик композитора с помощью:

Приведенная выше команда загрузит файл composer-setup.php в текущий рабочий каталог .

Затем нам нужно проверить целостность данных скрипта, сравнив хэш SHA-384 скрипта с последним хешем установщика, найденным на странице открытых ключей / подписей Composer .

Мы будем использовать следующую команду wget, чтобы загрузить ожидаемую подпись последней версии установщика Composer со страницы Composer Github и сохранить ее в переменной с именем HASH :

Теперь выполните следующую команду, чтобы убедиться, что сценарий установки не поврежден:

Если хеши совпадают, вы увидите следующий вывод:

Если хэши не совпадают, вы увидите, что программа установки Installer corrupt . В этом случае вам нужно будет повторно загрузить сценарий установки Composer и дважды проверить значение переменной $HASH с помощью echo $HASH . После проверки установщика вы можете перейти к следующему шагу.

Следующая команда установит Composer в каталог /usr/local/bin :

composer устанавливается как общесистемная команда и будет доступен всем пользователям.

Приведенная выше команда распечатает версию, команды и аргументы Composer.

Если вы хотите установить Composer для каждого проекта, используйте следующую команду php composer-setup.php которая создаст файл с именем composer.phar в вашем текущем рабочем каталоге. Вы можете использовать композитор, запустив ./composer.phar <command>.

Установка Composer [Быстрый способ]

Используйте следующие команды для быстрой установки Composer в вашей системе Ubuntu:

Установите PHP CLI и Zip:

Скачайте Composer с curl:

Переместите файл Composer в каталог /usr/local/bin :

Начало работы с Composer

Теперь, когда Composer установлен в вашей системе Ubuntu, мы покажем вам, как использовать Composer в проекте PHP.

Создайте каталог проекта и переключитесь в него с помощью:

Следующим шагом является инициализация нового composer.json с помощью команды composer require <package name> и указание пакета, который мы хотим загрузить.

В этом примере мы создадим образец приложения, которое будет печатать текущее время с помощью пакета под названием carbon .

Выполните следующую команду, чтобы инициализировать новый composer.json и установить пакет углерода:

Как видно из выходных данных выше, Composer создаст файл composer.json , загрузит и установит углерод и все его зависимости.

Если вы укажете каталог вашего проекта , вы увидите, что он содержит два файла composer.json и composer.lock и каталог vendor .

Composer предоставляет возможности автозагрузки, которые позволяют нам использовать классы PHP без необходимости require или include файлы.

Создайте файл с именем testing.php и добавьте следующий код:

Давайте проанализируем код построчно.

В первой строке после открывающего тега php мы vendor/autoload.php файл vendor/autoload.php который был автоматически сгенерирован Composer, который автоматически загрузит все библиотеки.

Затем мы применяем псевдоним CarbonCarbon как Carbon а в последней строке мы печатаем текущее время, используя метод Carbon now .

Запустите сценарий, набрав:

Результат должен выглядеть примерно так:

Позже, если вы захотите обновить свои пакеты PHP, вы можете просто запустить:

Приведенная выше команда проверит наличие более новых версий установленных пакетов, и если будет обнаружена более новая версия и ограничение версии совпадает с тем, что указано в composer.json , Composer обновит пакет.

Выводы

Вы узнали, как установить Composer на свой компьютер с Ubuntu 18.04. Мы также показали вам, как использовать Composer для создания базового проекта PHP.

Чтобы найти дополнительную информацию о Composer, посетите официальную страницу документации Composer .

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 скрипт installer. Мы должны загрузить его, убедиться, что он не поврежден, а затем использовать его для установки Composer.

Убедитесь, что вы находитесь в домашней директории, а затем загрузите установщик с помощью curl :

Далее мы убедимся, что хэш установщика совпадает с хэшем SHA-384 для последней версии установщика на странице Composer Public Keys / Signatures. Чтобы упростить проверку, вы можете использовать следующую команду для программного получения последней версии хэша со страницы Composer и ее сохранения в переменной оболочки:

Для проверки полученного значения можно использовать следующую команду:

Теперь выполните следующий код PHP, приведенный на странице загрузки Composer, чтобы подтвердить безопасность запуска скрипта установки:

Вывод должен выглядеть так:

Чтобы выполнить глобальную установку composer , используйте следующую команду, которая выполнит загрузку и установку Composer в качестве общесистемной команды composer в каталоге /usr/local/bin :

Вывод будет выглядеть следующим образом:

Чтобы протестировать установку, запустите команду:

Это подтверждает, что диспетчер зависимостей Composer был успешно установлен и доступен в рамках всей системы.

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

Для этого воспользуйтесь командой php 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 , который будет сгенерирован автоматически, когда нам потребуется наш первый пакет.

Результаты поиска в Packagist по ключевому слову «slug»

Вы увидите два числа с правой стороны каждого пакета в списке. Число сверху указывает на количество установок пакета через Composer, а число внизу показывает, какие оценки пакету ставили на GitHub. Как правило, пакеты с большим количеством установок и большим количеством звезд более стабильны, потому что многие люди их используют. Также важно проверить описание пакета на соответствие тому, что вам нужно.

Нам нужен конвертер ​​из строки в понятную человеку часть URL-адреса. Среди результатов поиска хорошо подходит пакет cocur/slugify , отображаемый на первой строке, для которого указано существенное количество установок и звезд.

Пакеты на Packagist имеют имя автора и имя пакета. Каждый пакет имеет уникальный идентификатор (пространство имен) в том же формате, который использует GitHub для своих репозиториев: vendor / package . Библиотека, которую мы хотим установить, использует пространство имен cocur/slugify . Для ее указания в вашем проекте требуется пространство имен пакета.

Теперь, когда вы знаете, какой пакет хотите установить, запустите composer require , чтобы добавить его в качестве зависимости, а также сгенерировать файл composer.json для вашего проекта. При запросе пакетов важно учитывать, что Composer отслеживает как зависимости на уровне приложений, так и зависимости на уровне системы. Зависимости на уровне системы важны, чтобы показать, на какие модули PHP полагается пакет. Для пакета cocur/slugify требуется модуль PHP, который мы еще не установили.

Для решения проблемы с системной зависимостью мы можем выполнить поиск отсутствующего пакета с помощью apt search :

Определив правильное имя пакета, вы можете использовать apt еще раз для установки системной зависимости:

После завершения установки вы можете запустить команду composer require еще раз:

Как видите, Composer автоматически определил, какую версию пакета использовать. Если вы сейчас проверите каталог вашего проекта, он будет содержать два новых файла: composer.json и composer.lock , а также каталог vendor .

Файл composer.lock используется для хранения информации о том, какие версии каждого пакета установлены, а также для использования одних и тех же версий пакетов, если кто-либо будет клонировать ваш проект и устанавливать зависимости. Каталог vendor служит местом расположения зависимостей проекта. Папка vendor не обязательно должна использоваться для контроля версий, в нее следует поместить только файлы composer.json и composer.lock.

При установке проекта, который уже содержит файл composer.json , запустите composer install , чтобы загрузить зависимости проекта.

Давайте быстро пробежимся по ограничениям версии. Если вы просмотрите содержимое файла composer.json , то увидите следующее:

Вы можете заметить специальный символ ^ перед номером версии в файле composer.json . Composer поддерживает несколько ограничений и форматов для определения требуемой версии пакета, чтобы обеспечить гибкость и одновременно сохранить стабильность вашего проекта. Оператор карет ​​( ^ ), используемый в автоматически генерируемом файле composer.json , рекомендуется применять для обеспечения максимальной совместимости в соответствии с семантическим управлением версиями. В данном случае он определяет 4.0 в качестве минимальной совместимой версии и позволяет обновляться до любой будущей версии ниже 5.0.

Как правило, вам не нужно изменять ограничения версии в файле composer.json . Однако в некоторых ситуациях может потребоваться вручную отредактировать ограничения для экземпляра, например, при выходе крупного обновления требуемой библиотеки, а также в случае, когда библиотека, которую вы хотите использовать, не соответствует требованиям семантического управления версиями.

Ниже представлены примеры, которые помогут лучше понять, как работают ограничения версии в Composer:

Более подробное описание ограничений версии в Composer см. в официальной документации.

Теперь нужно рассмотреть, как автоматически загружать зависимости с помощью Composer.

Шаг 4 — Включение скрипта автозагрузки

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

Вам нужно будет только включить файл vendor/autoload.php в скрипты PHP перед созданием экземпляра любого класса.

Протестируем его в нашем демонстрационном приложении. Откройте в текстовом редакторе новый файл с именем test.php :

Добавьте следующий код, который будет подключать файл vendor/autoload.php , загружать зависимость cocur/slugify и использовать ее для создания понятной человеку части URL-адреса:

Сохраните файл и закройте редактор.

Вы должны получить вывод hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it .

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

Шаг 5 — Обновление зависимостей проекта

Если вам нужно обновить зависимости проекта на более поздние версии, запустите команду update :

Она будет проверять новые версии библиотек, которые требуются вам в вашем проекте. Если будет найдена новая версия, которая совместима с ограничением версии, определенным в файле composer.json , Composer заменит ранее установленную версию на новую. Файл composer.lock будет обновлен, чтобы отразить эти изменения.

Вы также можете обновить одну или несколько конкретных библиотек, указав их следующим образом:

Обязательно зарегистрируйте файлы composer.json и composer.lock в системе контроля версий после обновления зависимостей, чтобы другие тоже могли установить обновленные версии.

Заключение

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

Favorite

Добавить в избранное

Главное меню » Операционная система Ubuntu » Установка и использование Composer на Ubuntu 18.04

(1 оценок, среднее: 5,00 из 5)

Установка и использование Composer на Ubuntu 18.04

В этой статье мы покажем вам, как установить и использовать Composer на сервере Ubuntu 18.04.

Хотя эта статья написана для Ubuntu 18.04, те же самые шаги можно использовать для Ubuntu 16.04.

Предпосылки

Прежде чем продолжить эту статью, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo, и у вас установлен PHP на вашей системе Ubuntu 18.04.

Установка Composer

Чтобы установить Composer в вашу систему Ubuntu, выполните следующие действия:

    Перед загрузкой и установкой Composer сначала нам нужно установить пакет CLI PHP, который доступен в репозиториях Ubuntu:

Теперь запустите следующую команду, чтобы убедиться, что сценарий установки не поврежден:

Если хеши совпадают, вы увидите следующий вывод:

Вышеприведенная команда напечатает версию, команды и аргументы Composer.

Если вы хотите установить Composer для каждого проекта, используйте следующую команду, php composer-setup.php , которая создаст файл composer.phar , указанный в вашем текущем рабочем каталоге. Вы можете использовать Composer, запустив ./composer.phar <command>.

Начало работы с Composer

Теперь, когда Composer установлен в вашей системе Ubuntu, мы покажем вам, как использовать Composer в проекте PHP.

Создайте каталог проекта и переключитесь на него с помощью:

Следующим шагом будет инициализация нового composer.json с помощью команды composer require <package name> и определение пакета, который мы хотим загрузить.

В этом примере мы создадим пример приложения, которое будет печатать текущее время с помощью пакета под названием carbon.

Выполните следующую команду для инициализации нового composer.json и установки пакета Carbon:

Как видно из выхода выше, Composer создаст файл composer.json , и он будет загружать и устанавливать carbon и все его зависимости.

Если вы перечисляете директорию вашего проекта, вы увидите, что он содержит два файла composer.json и composer.lock , и каталог vendor .

  • Каталог vendor , в котором зависимости проекта сохраняется.
  • composer.lock содержит список всех установленных пакетов , в том числе точных версий пакетов.
  • Описание composer.json PHP-проекта и всех зависимостей PHP.

Вы можете поискать репозиторий Composer Packagist для пакетов PHP.

Composer предоставляет возможности автозагрузки, которые позволяют нам использовать классы PHP без необходимости использования файлов require или include .

Создайте файл с именем testing.php и добавьте следующий код:

Давайте проанализируем код по строкам.

В первой строке после открытия php-тега мы включаем файл vendor/autoload.php , который автоматически генерируется Composer, который будет автоматически загружать все библиотеки.

Затем преобразуем Carbon\Carbon как Carbon и с последней строкой, мы печатаем текущее время с использованием метода now Carbon.

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

Результат должен выглядеть примерно так:

Позже, если вы хотите обновить свои пакеты PHP, вы можете просто запустить:

В приведенной выше команде будет проверяться более новые версии установленных пакетов, и если будет найдена более новая версия и ограничение версии совпадает с указанным в ней composer.json , Composer обновит пакет.

Вывод

Вы узнали, как установить Composer на ваш компьютер Ubuntu 18.04. Мы также показали вам, как использовать Composer для создания базового PHP-проекта.

Чтобы найти дополнительную информацию о Composer, посетите официальную страницу документации Composer.

Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: