Загрузка...

Как пользоваться Packagist: практический гайд для чайников

Простое руководство по Packagist и Composer для новичков: как искать PHP пакеты, читать страницу пакета, устанавливать, обновлять и удалять зависимости.
composer

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

Без шаманства, бубна и скачивания ZIP-архивов с мутных сайтов. XXI век всё-таки, хоть PHP и помнит динозавров.

Зачем нужен Packagist и Composer

Что такое Packagist

Packagist — официальный каталог пакетов для PHP. В нём лежат библиотеки, которые можно подключить к проекту.

Например, там можно найти пакеты для:

  • работы с датами;
  • отправки HTTP-запросов;
  • генерации PDF;
  • работы с изображениями;
  • интеграций с API;
  • Laravel, Symfony, WordPress и других PHP-проектов.

Проще говоря: если тебе нужна готовая PHP-библиотека, первым делом смотришь на Packagist.

packagist.org_

Почему Packagist используют вместе с Composer

Composer — это менеджер зависимостей для PHP. Он устанавливает пакеты, следит за версиями и записывает всё в файлы проекта.

Packagist отвечает на вопрос:

Где найти пакет?

Composer отвечает на вопрос:

Как установить пакет в проект?

Обычно схема такая:

  1. Ищешь пакет на Packagist.
  2. Копируешь команду установки.
  3. Выполняешь её в терминале.
  4. Composer скачивает пакет и подключает его к проекту.

Как найти и выбрать PHP-пакет

Как найти пакет на Packagist

Зайди на сайт Packagist и введи в поиск то, что тебе нужно.

Например:

http client

Или:

pdf

Или конкретное название пакета:

guzzlehttp/guzzle

После поиска Packagist покажет список PHP-пакетов.

Screenshot_20260523_003259

На что смотреть в результатах поиска

Не ставь первый попавшийся пакет просто потому, что он сверху. Пакеты — как грибы: некоторые полезные, некоторые лучше не трогать.

Смотри на несколько вещей:

  • количество загрузок — популярные пакеты обычно надёжнее;
  • дату последнего обновления — если пакет не обновлялся 6 лет, он мог уйти жить на пенсию;
  • звёзды на GitHub — не главный показатель, но полезный сигнал;
  • описание — должно быть понятно, что пакет делает;
  • совместимость с PHP — пакет должен подходить под твою версию PHP.

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

Как читать страницу пакета на Packagist

Открой страницу пакета. Обычно она выглядит страшнее, чем есть на самом деле.

Главные блоки:

Название пакета

Например:

guzzlehttp/guzzle

Это и есть настоящее имя пакета. Оно состоит из двух частей:

vendor/package

Где:

  • vendor — автор или организация;
  • package — название пакета.

Например:

laravel/framework
symfony/console
guzzlehttp/guzzle

Команда установки

На странице пакета обычно есть команда вида:

composer require vendor/package

Важно: vendor/package — это пример. Его нужно заменить на реальное имя пакета.

Например, для Guzzle команда будет такой:

composer require guzzlehttp/guzzle

Screenshot_20260523_003347

Версии пакета

На странице Packagist можно увидеть доступные версии:

1.0.0
2.5.1
3.0.0
dev-main

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

composer require vendor/package

Composer сам подберёт подходящую стабильную версию.

Требования пакета

Смотри блок requires. Там указано, что нужно пакету для работы.

Например:

php: ^8.1
ext-json: *

Это значит, что пакету нужен PHP версии 8.1 или выше и расширение json.

Если у тебя PHP 7.4, а пакет требует PHP 8.2, Composer честно скажет: “дружище, не сегодня”.

Как установить пакет через Composer

Шаг 1. Открой терминал в папке проекта

Перейди в папку своего проекта:

cd /path/to/your/project

Например:

cd ~/projects/my-php-app

Screenshot_20260523_003646

Шаг 2. Выполни composer require

Команда установки выглядит так:

composer require vendor/package

Ещё раз: vendor/package нужно заменить на реальное имя пакета с Packagist.

Например:

composer require guzzlehttp/guzzle

Composer скачает пакет и добавит его в проект.

После установки в проекте обновятся файлы:

composer.json
composer.lock

И появится или обновится папка:

vendor/

Шаг 3. Проверь composer.json

Открой файл composer.json. Там появится новый пакет в блоке require.

Пример:

{
  "require": {
    "guzzlehttp/guzzle": "^7.0"
  }
}

Это значит, что пакет установлен и Composer теперь будет учитывать его как зависимость проекта.

Screenshot_20260523_003748

Шаг 4. Используй пакет в коде

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

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

А дальше использовать классы пакета по документации.

Например:

use GuzzleHttp\Client;

$client = new Client();

$response = $client->get('https://example.com');

echo $response->getBody();

Главное: не пытайся угадать API пакета по звёздам. Открой README. Оно там не для красоты лежит.

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

Как установить конкретную версию

Иногда нужна конкретная версия пакета. Тогда можно указать её при установке:

composer require vendor/package:^2.0

Например:

composer require guzzlehttp/guzzle:^7.0

Символ ^ означает: можно ставить совместимые версии, но без перехода на следующую мажорную версию.

Например:

^7.0

Разрешает версии:

7.0
7.1
7.5
7.9

Но не разрешает:

8.0

Потому что новая мажорная версия может сломать совместимость.

Как обновить пакет

Чтобы обновить конкретный пакет:

composer update vendor/package

Например:

composer update guzzlehttp/guzzle

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

composer update

Но с этой командой аккуратно. Она может обновить много пакетов сразу. Иногда после этого проект начинает вести себя как кот после купания: вроде живой, но уже не тот.

Для рабочих проектов лучше обновлять конкретный пакет.

Screenshot_20260523_003842

Как удалить пакет

Чтобы удалить пакет:

composer remove vendor/package

Например:

composer remove guzzlehttp/guzzle

Composer удалит пакет из composer.json, обновит composer.lock и почистит зависимости, если они больше не нужны.

После удаления проверь код. Если ты где-то использовал классы пакета, проект может начать ругаться.

Частые ошибки новичков

Копируют vendor/package как есть

Ошибка:

composer require vendor/package

Так делать не надо. Это шаблон.

Нужно взять настоящее имя пакета со страницы Packagist.

Правильно:

composer require guzzlehttp/guzzle

Ставят заброшенный пакет

Если пакет не обновлялся много лет, лучше поискать альтернативу.

Особенно если проект новый и работает на свежей версии PHP.

Не читают требования к PHP

Пакет может требовать PHP 8.2, а у тебя PHP 8.1 или 7.4. В этом случае установка не пройдёт.

Проверь версию PHP:

php -v

Запускают composer update без понимания

Команда:

composer update

обновляет зависимости. Иногда — слишком бодро.

Для новичка безопаснее обновлять конкретный пакет:

composer update vendor/package

Удаляют папку vendor вручную и пугаются

Папку vendor/ можно восстановить командой:

composer install

Composer прочитает composer.lock и установит нужные версии пакетов заново.

Не коммитят composer.lock

Для обычного проекта composer.lock нужно хранить в Git. Он фиксирует точные версии пакетов.

Иначе у тебя на компьютере будет одна версия, на сервере другая, а виноват снова будет “этот ваш PHP”.

Финальный чеклист и FAQ

Финальный чеклист

Перед установкой пакета проверь:

  • Пакет найден на Packagist.
  • Название выглядит как vendor/package.
  • У пакета есть README или документация.
  • Пакет недавно обновлялся.
  • Он подходит под твою версию PHP.
  • Команда установки скопирована правильно.
  • После установки пакет появился в composer.json.
  • Код использует пакет по документации.
  • composer.lock сохранён в Git.

FAQ

Что такое Packagist простыми словами?

Packagist — это каталог PHP-пакетов. Через него Composer находит и устанавливает библиотеки в проект.

Что такое Composer?

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

Как пользоваться Packagist новичку?

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

Что значит vendor/package?

Это формат имени пакета. vendor — автор или организация, package — название пакета.

Например:

symfony/console
laravel/framework
guzzlehttp/guzzle

Как установить пакет PHP через Composer?

Выполни команду:

composer require vendor/package

Только замени vendor/package на реальное имя пакета с Packagist.

Как удалить пакет из проекта?

Используй команду:

composer remove vendor/package

Например:

composer remove guzzlehttp/guzzle

Можно ли пользоваться PHP без Packagist?

Можно. Но если проект использует сторонние библиотеки, Packagist и Composer сильно упрощают жизнь. Без них придётся вручную скачивать код, следить за версиями и чинить зависимости. Это путь сильных духом и уставших глазами.

Короткий итог

Packagist нужен, чтобы находить PHP пакеты. Composer нужен, чтобы устанавливать их в проект.

Базовый рабочий сценарий такой:

composer require vendor/package

Где vendor/package — настоящее имя пакета с Packagist.

Научился искать пакет, читать страницу, ставить, обновлять и удалять — уже можешь спокойно пользоваться Packagist без ощущения, что попал в кабину самолёта.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *