Как установить Composer на Ubuntu 20.04

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

В этом руководстве вы установите и начнете работу с Composer на системе Ubuntu 20.04.

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

Установка PHP и дополнительных зависимостей

В дополнение к зависимостям, которые уже должны быть включены в вашу систему Ubuntu 20.04, таким как git и curl, Composer требует php-cli для выполнения PHP-скриптов в командной строке и unzip для извлечения заархивированных архивов. Сейчас мы установим эти зависимости.

Сначала обновите кэш менеджера пакетов, выполнив команду:

sudo apt update

Затем выполните следующую команду для установки необходимых пакетов:

sudo apt install php-cli unzip

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

После установки предварительных условий можно приступать к установке Composer.

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

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

cd ~ curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php

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

HASH=`curl -sS https://composer.github.io/installer.sig`

Если вы хотите проверить полученное значение, вы можете выполнить:

echo $HASH

Ожидаемый вывод:

906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8

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

php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Вы увидите следующий результат:

Installer verified

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

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

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

Вы увидите следующее сообщение:

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

Чтобы проверить свою установку, выполните

composer

Ожидаемый вывод:

______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 2.3.5 2022-04-13 16:43:00 Usage: command [options] [arguments] Options: -h, --help Display help for the given command. When no command is given display help for the list command -q, --quiet Do not output any message -V, --version Display this application version --ansi|--no-ansi Force (or disable --no-ansi) ANSI output -n, --no-interaction Do not ask any interactive question --profile Display timing and memory usage information --no-plugins Whether to disable plugins. --no-scripts Skips the execution of all scripts defined in composer.json file. -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 был успешно установлен в вашей системе и доступен глобально.

Для реализации основных услуг и функций нашего сайта, а также для сбора данных о том, как посетители взаимодействуют с нашими сайтом, продуктами и услугами, мы применяем различные инструменты, включая файлы cookie. Нажимая «Принимаю», вы соглашаетесь с текущими правилами и условиями использования сайта и даете разрешение на использование этих данных. В противном случае, пожалуйста, покиньте сайт.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: