Справочник

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

Composer — менеджер пакетов для PHP: он скачивает библиотеки, которые нужны сайту или фреймворку, и следит за их версиями. В Ubuntu он ставится командой sudo apt install composer вместе с PHP для командной строки. Запускайте composer из папки проекта под своим пользователем, без sudo.

≈ 5 мин чтения
Содержание 8

Что сделать прямо сейчас

Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.

  1. Обновите список пакетов: sudo apt update.
  2. Установите Composer: sudo apt install composer. Если система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter. На вопрос Do you want to continue? [Y/n] нажмите Y и Enter.
  3. Проверьте: composer -V. В ответе — номер версии Composer.
  4. Перейдите в папку проекта — ту, где лежит файл composer.json, — командой cd и установите библиотеки: composer install. Без sudo — почему.

Какая версия поставится

UbuntuВерсия ComposerПакет
24.04Composer 2.7.1composer 2.7.1
26.04Composer 2.9.5composer 2.9.5

Номера версий взяты со страниц пакетов Ubuntu на 14 октября 2026 года. Пакет лежит в разделе universe. Если apt его не находит — разбор ошибки.

Вместе с Composer ставятся PHP для командной строки (пакет php-cli), git, архиваторы unzip и xz-utils и модули PHP curl, intl, mbstring и zip. Если PHP на сервере уже стоит, apt доставит только то, чего не хватает.

Нужна версия новее, чем в Ubuntu, — её выкладывают на официальном сайте Composer: getcomposer.org. Там же описана установка.

Почему без sudo

Composer выполняет скрипты из файла composer.json и плагины библиотек. Они работают с правами того, кто запустил composer: под sudo — с правами root, то есть с полным доступом к серверу. Кроме того, файлы, которые composer создаст под sudo, будут принадлежать root, и потом ваш пользователь не сможет их изменить.

Поэтому запускайте composer от своего пользователя, в папке, которая ему принадлежит. Если composer ругается на права доступа к папке проекта — кому принадлежат файлы и как это поменять.

Основные команды

КомандаЧто делает
composer installставит библиотеки проекта: по файлу composer.lock, если он есть, иначе по composer.json
composer require имя/пакетадобавляет библиотеку в composer.json и ставит её
composer updateобновляет библиотеки до последних версий, которые разрешает composer.json, и переписывает composer.lock
composer remove имя/пакетаудаляет библиотеку из проекта
composer showсписок установленных библиотек
composer outdatedкакие библиотеки можно обновить
composer check-platform-reqsпроверяет, хватает ли проекту версии PHP и модулей
composer diagnoseищет проблемы в системе и настройках Composer

Библиотеки складываются в папку vendor внутри проекта. Чтобы выполнить команду в другой папке, не переходя в неё, добавьте -d и путь: composer install -d ~/myproject.

composer update может поставить более новые версии библиотек, чем были у проекта. На рабочем сайте для установки используйте composer install — он берёт точные версии из composer.lock.

Если не хватает модуля PHP

Проекту могут быть нужны модули PHP, которых на сервере нет. Тогда composer install остановится и назовёт модуль с приставкой ext-, например ext-gd. Полный список недостающего покажет composer check-platform-reqs.

Модуль ставится пакетом php- с тем же именем:

Что просит ComposerКакой пакет поставить
ext-gdsudo apt install php-gd
ext-curlsudo apt install php-curl
ext-zipsudo apt install php-zip
ext-dom, ext-xml, ext-simplexmlsudo apt install php-xml

Модуль ставится сразу для командной строки и для PHP-FPM. Чтобы сайт на nginx тоже его увидел, перезапустите PHP-FPM: sudo systemctl restart php8.3-fpm (в Ubuntu 26.04 — php8.5-fpm). Подробнее — Как установить PHP на Ubuntu.

Ошибки и как их исправить

Что видитеЧто делать
composer: command not foundComposer не установлен: sudo apt install composer
Unable to locate package composerapt не нашёл пакет
composer install просит модуль ext-…поставьте модуль PHP
Composer предупреждает о запуске от rootзапустите команду без sudo, от своего пользователя — почему
Permission denied при записи в папку проектапапка принадлежит другому пользователю — как это исправить

Источники

Сверено 14 октября 2026 года.

Что почитать дальше