Если ты работаешь с PHP и до сих пор не юзаешь Composer, значит ты либо новенький, либо любитель страдать руками. Это короткое руководство — для тех, кто хочет быстро поставить и начать использовать Composer на Ubuntu 18.04.

1. Обновляем систему и ставим зависимости

Composer нужен PHP CLI, unzip и wget (или curl). Запускаешь в терминале:

sudo apt update
sudo apt install wget php-cli php-zip unzip curl

Это минимум, без которого Composer работать не будет.

2. Скачиваем установщик Composer

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

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 

3. Проверяем целостность установщика

Composer выкладывает SHA-384 хэш, который нужно сверить с твоим файлом. Вот команда, которая сделает это автоматически:

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Если в ответ получишь Installer verified — продолжаем. Если Installer corrupt — качай скрипт заново, или проверь подключение к интернету.

4. Устанавливаем Composer глобально

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

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

5. Проверяем установку

Просто набери в терминале:

composer

Если выведется справка по Composer — установка прошла успешно.

Быстрая установка (если не паришься с проверками)

sudo apt update && sudo apt install wget php-cli php-zip unzip curl
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Начинаем использовать Composer

Создаем проект

mkdir ~/my-first-composer-project
cd ~/my-first-composer-project

Добавляем зависимость

Возьмём для примера класс Carbon для работы с датами:

composer require nesbot/carbon

В каталоге проекта появятся:

  • composer.json — описание проекта и зависимостей
  • composer.lock — версии пакетов
  • vendor/ — каталог с библиотеками и автозагрузчиком

Пример использования установленной библиотеки

Создай файл testing.php с таким содержимым:

<?php require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s\n", Carbon::now());

Запусти скрипт:

php testing.php

Должен получить вывод типа:

Now: 2024-08-12 15:30:45 

Обновляем зависимости

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

composer update

Итог

  • Composer — твой лучший друг в PHP
  • Установить его на Ubuntu 18.04 проще простого: скачал, проверил, поставил
  • Добавлять зависимости — одна команда composer require
  • Автозагрузка работает сама — забудь про require на каждый файл
  • Обновлять пакеты — команда composer update

Если не сделал так — в следующий раз будешь ковыряться с кучей ошибок и мешать себе жить.