Как исправить ошибку «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”, продолжайте к разделу установки.

Совет: можно дополнительно проверить расположение в PATH и наличие в системе:
which make
# или
type -a make
# показать переменную PATH
echo $PATH2. Установка make через APT
Обновите индекс пакетов и саму систему, затем установите make:
sudo apt update && sudo apt upgrade -y
sudo apt install -y make
Если пакета make нет отдельно или требуются дополнительные инструменты для сборки (компиляторы, заголовки и т. п.), установите полный набор build-essential:
sudo apt install -y build-essential

Почему build-essential: этот пакет включает gcc, g++, make и другие зависимости, нужные для сборки большинства проектов из исходников.
3. Что делать, если make всё ещё не найден
- Переустановите пакет как резервный шаг:
sudo apt install --reinstall make- Проверьте, где находится исполняемый файл и какие пакеты его обеспечивают:
which make
ls -l $(which make)- Если бинарь установлен в нестандартной директории (например, /usr/local/bin), убедитесь, что эта директория есть в $PATH:
echo $PATH # временно добавить директорию export PATH=/usr/local/bin:$PATH # чтобы добавить навсегда — правьте ~/.profile или ~/.bashrc и добавьте строку выше
- Если команда which не находит make, но пакет установлен, проверьте целостность пакетов и зависимости:
sudo apt --fix-broken install
sudo dpkg --configure -a- Если система минимальная (контейнеры, 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)
- Проверить:
which makeиmake --version. - Если не установлен —
sudo apt update && sudo apt install -y make. - Если требуется —
sudo apt install -y build-essential. - Переустановить:
sudo apt install --reinstall make. - Проверить PATH и права доступа.
- При проблемах с 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.
Похожие материалы
Перевод веб‑страниц в Chrome с Google Translate
Как распознать фейковые аккаунты в Twitter
Как жара влияет на электромобили и их батареи
Как публиковать в Instagram с компьютера
Как сложить числа в Excel с помощью SUM