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

Исправление ошибки «make: command not found» в Ubuntu

5 min read Linux Обновлено 31 Dec 2025
Исправить make: command not found в Ubuntu
Исправить make: command not found в Ubuntu

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

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

Здесь пошагово описано, как диагностировать и исправить ошибку «make: command not found» в Ubuntu. Подходит для локальных рабочих станций и серверов. Включены команды для проверки, варианты установки, советы по PATH, альтернативные подходы и чек-листы для разработчика и системного администратора.

Быстрые шаги (summary)

  • Проверить, установлен ли make: ls /usr/bin/make и /usr/bin/make –version
  • Установить make: sudo apt update && sudo apt install -y make
  • Если нужно — установить build-essential: sudo apt install build-essential
  • Если make есть, но не запускается — проверить PATH и права
  • При проблемах — переустановить: sudo apt install –reinstall make

Важно: команды ниже требуют прав суперпользователя (sudo) и подключения к интернету для apt.

1. Проверка наличия make на системе

Первый шаг — убедиться, что бинарный файл make существует и исполняется.

Проверьте наличие файла:

ls -l /usr/bin/make

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

/usr/bin/make --version

Если файл отсутствует, команда выдаст «No such file or directory» или похожую ошибку. Если файл есть, но /usr/bin/make –version не запускается, проверьте права и зависимости.

Дополнительно проверьте, как shell находит команду:

which make
type -a make

if which ничего не выводит, значит команда не находится в $PATH.

Linux Ubuntu terminal interface showing verification commands

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

Обычно make входит в стандартные репозитории Ubuntu. Обновите индексы пакетов и установите make:

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

Если пакет make не решает проблему (например, отсутствуют компиляторы и заголовки), установите сборочный набор пакетов:

sudo apt install -y build-essential

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

Linux Ubuntu terminal interface showing update commands

Если установка проходит успешно, проверьте версию снова:

make --version

3. Что делать, если make установлен, но команда не найдена

Иногда бинарник установлен, но shell не может его найти — проблема в переменной окружения PATH или в правах доступа.

Проверьте PATH:

echo "$PATH"

Убедитесь, что /usr/bin и /usr/local/bin присутствуют в PATH. Если бинарник находится в нестандартном месте, например /opt/custom/bin, добавьте путь временно и затем в профиль пользователя:

export PATH="$PATH:/opt/custom/bin"

Чтобы добавить навсегда, добавьте строку в ~/.profile или ~/.bashrc:

# в конце файла ~/.profile
export PATH="$PATH:/opt/custom/bin"

Если бинарник есть, но права неверны, исправьте их:

sudo chmod +x /usr/bin/make
sudo chown root:root /usr/bin/make

Если кажется, что пакет повреждён, выполните переустановку:

sudo apt install --reinstall make

4. Диагностика проблем с APT и пакетами

Если apt не может установить make, проверьте:

apt-cache policy make
sudo apt update
sudo apt install -f

Ошибки сети, прокси или повреждённые индексы apt иногда мешают установке. При отсутствии доступа к репозиториям можно скачать .deb вручную с доверенного зеркала и установить через dpkg:

sudo dpkg -i make_*.deb
sudo apt-get install -f

Альтернативные подходы и обходные пути

  • Использовать предварительно собранные пакеты (deb, snap, flatpak) вместо сборки из исходников.
  • Запустить сборку внутри контейнера (Docker) с нужными инструментами, чтобы не менять хост-систему.
  • Если проект поддерживает другие системы сборки (CMake, Meson), использовать их, если make отсутствует в окружении.

Когда перечисленные шаги не помогают

Контейнеры/минимальные образы: многие минимальные образы (alpine, busybox-based) не содержат apt и make; в таких случаях используйте менеджер пакетов образа или переключитесь на образ Ubuntu с предустановленными инструментами.

Ограниченные среды: в некоторых хостингах и CI-пайплайнах инструменты сборки по умолчанию отключены. Проверьте документацию CI/хостинга.

Если проблема связана с повреждёнными пакетами или конфликтующими зависимостями, потребуются дополнительные шаги по очистке кеша apt и диагностике зависимостей.

Мини-методология: как быстро диагностировать проблему

  1. Проверить физическое наличие бинарника: ls /usr/bin/make
  2. Запустить по абсолютному пути: /usr/bin/make –version
  3. Проверить, как shell находит команду: which make; type -a make
  4. Если отсутствует — установить make или build-essential через apt
  5. Если установлен, но не виден — проверить PATH и права
  6. При ошибках apt — проверить сеть, зеркала и выполнить sudo apt install -f

Диагностическое дерево (decision tree)

flowchart TD
  A[Запущена команда make?] --> B{Есть /usr/bin/make}
  B -- Да --> C{make запускается по абсолютному пути}
  B -- Нет --> D[Установите make: sudo apt install -y make]
  C -- Да --> E{which make возвращает путь}
  C -- Нет --> F[Проверить права/зависимости; sudo apt install --reinstall make]
  E -- Да --> G[Проблема решена]
  E -- Нет --> H[Проверьте PATH; export PATH=...]
  H --> G
  F --> G

Чек-листы по ролям

Для разработчика:

  • Убедиться, что исходники подходят для запуска с make (наличие Makefile).
  • Проверить, установлен ли make: make –version.
  • Если нет — попросить инструкции по установке или воспользоваться контейнером с готовой средой.

Для системного администратора:

  • Проверить наличие и целостность пакета make и build-essential.
  • Проверить конфигурации PATH для system users и сервисов (systemd, cron).
  • Настроить mirror/репозиторий и доступ в интернет для apt при необходимости.

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

  • make –version возвращает версию без ошибок.
  • Команда make успешно запускает сборку тестового Makefile.
  • Нет ошибок «command not found» для пользователя или сервиса, которому нужна эта команда.

Краткий справочный блок (фактбокс)

  • make — стандартный инструмент сборки в Unix-подобных ОС.
  • В Ubuntu make обычно доступен в репозитории main и входит в build-essential.
  • build-essential содержит компиляторы и вспомогательные библиотеки, часто требуемые для сборки ПО.

Тесты и приёмочные проверки

  • Тест 1: После установки выполнить make –version — ожидается вывод версии.
  • Тест 2: Создать простой Makefile и запустить make — ожидается успешная сборка.
  • Тест 3: Войти под тем же пользователем, что и сервис, и убедиться, что which make возвращает путь.

Короткое резюме

Ошибка «make: command not found» обычно означает, что пакет make не установлен или его бинарник не находится в переменной окружения PATH. Самый распространённый и безопасный путь решения — установить make или build-essential через apt и при необходимости поправить PATH или выполнить переустановку.

Последовательные шаги: проверить наличие бинарника, установить пакет, проверить PATH, переустановить при проблемах. Если вы работаете в ограничённой среде (контейнер, CI), рассмотрите использование образа/контейнера с предустановленными инструментами.

Ключевые команды для копирования:

sudo apt update && sudo apt upgrade -y
sudo apt install -y make
sudo apt install -y build-essential
sudo apt install --reinstall make
ls -l /usr/bin/make
/usr/bin/make --version
which make
echo "$PATH"

Linux Ubuntu terminal interface with installation commands

Linux Ubuntu terminal interface showing installation commands

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

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

Обновить Linux на Chromebook через терминал
Инструкции

Обновить Linux на Chromebook через терминал

Анализ использования диска в Ubuntu с ncdu
Ubuntu

Анализ использования диска в Ubuntu с ncdu

Отключить уведомления на Android — режим Не беспокоить
Mobile

Отключить уведомления на Android — режим Не беспокоить

Как безопасно купить б/у MacBook
Руководство

Как безопасно купить б/у MacBook

Планшет Android как дисплей для Raspberry Pi
Raspberry Pi

Планшет Android как дисплей для Raspberry Pi

Focus assist в Windows 11 — включение и настройка
Windows

Focus assist в Windows 11 — включение и настройка