Гид по технологиям

Как исправить ошибку «make: command not found» в Ubuntu

4 min read Linux Обновлено 13 Apr 2026
Исправить make: command not found в Ubuntu
Исправить make: command not found в Ubuntu

Пользователь вводит команду в терминале на компьютере

О чём эта статья

Коротко: make — это утилита для автоматизации сборки программ из исходников. Если система сообщает “make: command not found”, это значит, что на системе отсутствует исполняемый файл make или он недоступен через PATH. В статье описаны проверки, команды установки, советы при проблемах с PATH, ролевые чек-листы и критерии приёмки.

Короткое определение: make — инструмент для запуска правил сборки, описанных в Makefile; обычно используется для компиляции кода.

1. Проверка: установлен ли make

Сначала убедитесь, что файл присутствует и доступен.

Проверьте наличие бинаря по пути /usr/bin/make:

ls -l /usr/bin/make

Выполните make напрямую, чтобы увидеть версию:

/usr/bin/make --version

Если файл отсутствует или команда возвращает “command not found”, продолжайте к разделу установки.

Терминал Ubuntu: проверка наличия make (ls и --version)

Совет: можно дополнительно проверить расположение в PATH и наличие в системе:

which make
# или
type -a make
# показать переменную PATH
echo $PATH

2. Установка make через APT

Обновите индекс пакетов и саму систему, затем установите make:

sudo apt update && sudo apt upgrade -y
sudo apt install -y make

Терминал Ubuntu: команда обновления apt update && apt upgrade

Если пакета make нет отдельно или требуются дополнительные инструменты для сборки (компиляторы, заголовки и т. п.), установите полный набор build-essential:

sudo apt install -y build-essential

Терминал Ubuntu: установка make через apt

Терминал Ubuntu: установка build-essential

Почему build-essential: этот пакет включает gcc, g++, make и другие зависимости, нужные для сборки большинства проектов из исходников.

3. Что делать, если make всё ещё не найден

  1. Переустановите пакет как резервный шаг:
sudo apt install --reinstall make
  1. Проверьте, где находится исполняемый файл и какие пакеты его обеспечивают:
which make
ls -l $(which make)
  1. Если бинарь установлен в нестандартной директории (например, /usr/local/bin), убедитесь, что эта директория есть в $PATH:

echo $PATH # временно добавить директорию export PATH=/usr/local/bin:$PATH # чтобы добавить навсегда — правьте ~/.profile или ~/.bashrc и добавьте строку выше

  1. Если команда which не находит make, но пакет установлен, проверьте целостность пакетов и зависимости:
sudo apt --fix-broken install
sudo dpkg --configure -a
  1. Если система минимальная (контейнеры, chroot, обрезанные образы), убедитесь, что у вас есть доступ к репозиториям Ubuntu и включён интернет.

Модель принятия решения (краткая схема)

flowchart TD
  A[Ошибка: make не найден] --> B{Файл /usr/bin/make существует?}
  B -- Да --> C{make в PATH?}
  C -- Да --> D[Выполнить /usr/bin/make --version, смотреть ошибку]
  C -- Нет --> E[Добавить директорию в PATH]
  B -- Нет --> F[Установить make через apt]
  F --> G{Работает?}
  G -- Да --> H[Готово]
  G -- Нет --> I[Установить build-essential и переустановить]
  I --> H

Полезные проверки и команды

  • which make — местоположение исполняемого файла
  • type -a make — покажет все найденные реализации
  • ls -l /usr/bin/make — права доступа
  • echo $PATH — список директорий для поиска команд
  • sudo apt install –reinstall make — переустановка
  • sudo apt install build-essential — полный набор инструментов сборки

Важно: обычно /usr/bin и /bin уже в PATH по умолчанию. Если бинарь установлен в нестандартную директорию — корректно добавьте её в профиль пользователя.

Ролевые чек-листы

Разработчик:

  • Проверить Makefile в проекте на синтаксические ошибки.
  • Убедиться, что make установлен локально (which make).
  • Установить build-essential при необходимости.
  • Попробовать собрать простой пример: make -n для показа команд без выполнения.

Системный администратор / DevOps:

  • Проверить, доступен ли репозиторий apt и корректны ли источники в /etc/apt/sources.list.
  • Проверить, нет ли ограничений безопасности (AppArmor/SELinux) мешающих выполнению.
  • Проверить права и владельца файла make и родительских директорий.

CI/CD инженер:

  • Убедиться, что образ контейнера содержит make или добавить установку в Dockerfile: RUN apt-get update && apt-get install -y build-essential.
  • Проверить кеширование слоёв сборки, где make мог быть удалён.

Критерии приёмки

  • Команда make --version выводит версию без ошибок.
  • which make возвращает путь к исполняемому файлу.
  • Простая сборка проекта (например, make -n и затем make) выполняется успешно.

Когда это решение не сработает

  • Если ошибка исходит не от отсутствия make, а из-за ошибок в самом Makefile — нужно править Makefile.
  • Если пакетная база повреждена и apt не может установить пакеты — требуется восстановление репозиториев или работа с образами системы.
  • В сильно ограничённых контейнерах или read-only средах установка может быть невозможна без пересборки образа.

Быстрый план действий (SOP)

  1. Проверить: which make и make --version.
  2. Если не установлен — sudo apt update && sudo apt install -y make.
  3. Если требуется — sudo apt install -y build-essential.
  4. Переустановить: sudo apt install --reinstall make.
  5. Проверить PATH и права доступа.
  6. При проблемах с apt — выполнить sudo apt --fix-broken install и sudo dpkg --configure -a.

Риски и рекомендации

  • Установка пакетов требует привилегий sudo. Проверяйте источник пакетов.
  • В production-окружениях изменения в системных пакетах тестируйте на этапах staging.

Краткая сводка

make — базовый инструмент сборки, и его отсутствие легко исправляется установкой пакета make или build-essential. В большинстве случаев достаточно обновить индексы apt и установить нужный пакет. Если make установлен, но не найден — проверьте PATH и права файлов.

  • Главное: начинайте с простых проверок: which, ls, make –version.
  • Если установка не проходит — переустановите пакет и проверьте целостность apt.

Спасибо; если хотите, могу подготовить готовый фрагмент Dockerfile или системный скрипт для автоматической установки make и build-essential.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Перевод веб‑страниц в Chrome с Google Translate
браузер

Перевод веб‑страниц в Chrome с Google Translate

Как распознать фейковые аккаунты в Twitter
Безопасность

Как распознать фейковые аккаунты в Twitter

Как жара влияет на электромобили и их батареи
Технологии

Как жара влияет на электромобили и их батареи

Как публиковать в Instagram с компьютера
Социальные сети

Как публиковать в Instagram с компьютера

Как сложить числа в Excel с помощью SUM
Excel

Как сложить числа в Excel с помощью SUM

SUMIF в Excel — как пользоваться и примеры
Excel

SUMIF в Excel — как пользоваться и примеры