Что означает ошибка 'gcc: command not found'
Ошибка gcc: command not found (или bash: gcc: command not found) появляется в терминале Linux, когда система не может найти исполняемый файл компилятора GCC в директориях, указанных в переменной окружения PATH. Это происходит при попытке скомпилировать C/C++ программу или запустить скрипт, требующий GCC.
Полный текст ошибки обычно выглядит так:
bash: gcc: command not found
Или просто:
gcc: command not found
Ошибка блокирует компиляцию кода и указывает на отсутствие или неправильную настройку компилятора.
Причины возникновения
- GCC не установлен. В чистой установке Linux (особенно минимальных) компилятор часто отсутствует по умолчанию.
- GCC установлен, но не в стандартной директории. Например, если вы скомпилировали GCC из исходников и установили его в
/opt/gcc, а эта папка не добавлена вPATH. - Переменная PATH повреждена или изменена. Система ищет исполняемые файлы только в директориях, перечисленных в
PATH. Если путь к GCC удалён из этой переменной, команда не находится. - GCC установлен только для другого пользователя. Например, установлен через
sudoдля root, но не доступен обычному пользователю (редко, но возможно при нестандартной настройке). - Символьные ссылки на GCC отсутствуют. Иногда GCC устанавливается в поддиректорию (например,
/usr/lib/gcc/x86_64-linux-gnu/11/), а в/usr/binдолжен быть символьный ссылgcc -> /usr/lib/gcc/.../gcc. Если ссылка сломана или удалена, команда не находится.
Способы решения
Способ 1: Установка GCC через пакетный менеджер
Самый простой и надёжный способ — установить GCC из официальных репозиториев вашего дистрибутива. Это гарантирует правильные пути и зависимости.
Для Ubuntu/Debian и производных:
sudo apt update
sudo apt install build-essential
Пакет build-essential включает GCC, G++, make, libc6-dev и другие инструменты для компиляции.
Для CentOS/RHEL 7:
sudo yum install gcc
Для CentOS/RHEL 8 / Fedora / AlmaLinux / Rocky Linux:
sudo dnf install gcc
Для Arch Linux:
sudo pacman -S gcc
После установки проверьте:
gcc --version
Если видите версию — проблема решена.
Способ 2: Добавление пути к GCC в переменную PATH
Если GCC уже установлен (например, вы установили его вручную в /usr/local/gcc), но система его не находит, нужно добавить директорию с исполняемым файлом в PATH.
- Найдите, где находится
gcc:which gcc
Если команда ничего не выводит, поищите в типичных местах:sudo find / -name gcc 2>/dev/null | head -20
Обычно GCC находится в/usr/bin/gcc,/usr/local/bin/gccили/opt/gcc/bin/gcc. - Добавьте путь в
PATH. Откройте файл~/.bashrc(для bash) или~/.zshrc(для zsh) в текстовом редакторе:nano ~/.bashrc
В конец файла добавьте строку (замените/путь/к/gccна реальный путь, например/usr/local/bin):export PATH=$PATH:/usr/local/bin
Сохраните и закройте редактор. - Примените изменения:
source ~/.bashrc
Или откройте новое окно терминала. - Проверьте:
echo $PATH gcc --version
Способ 3: Создание символьной ссылки (если GCC установлен в нестандартном месте)
Если GCC установлен, но исполняемый файл лежит в глубокой поддиректории (например, /opt/gcc/bin/x86_64-pc-linux-gnu/gcc), можно создать символьную ссылку в /usr/local/bin:
sudo ln -s /opt/gcc/bin/x86_64-pc-linux-gnu/gcc /usr/local/bin/gcc
Затем проверьте gcc --version.
Способ 4: Проверка и исправление переменной PATH
Если вы или программы меняли PATH и сломали его, восстановите стандартное значение. Обычно PATH включает /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin.
- Посмотрите текущий
PATH:echo $PATH - Если пути нет, добавьте их временно:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH - Чтобы сделать изменения постоянными, отредактируйте
~/.bashrc(как в Способе 2) и добавьте туда строку с полнымPATH.
Способ 5: Переустановка GCC (если пакет повреждён)
Если GCC был установлен через пакетный менеджер, но работает некорректно, переустановите его:
Для Ubuntu/Debian:
sudo apt remove --purge gcc
sudo apt install build-essential
Для CentOS/Fedora:
sudo dnf remove gcc
sudo dnf install gcc
Профилактика
- Устанавливайте GCC из официальных репозиториев — это обеспечивает корректные пути и автоматические обновления.
- Не удаляйте стандартные директории из
PATH— особенно/usr/binи/bin. - Проверяйте
PATHпосле изменений — если вы редактироваете~/.bashrcили системные файлы, убедитесь, что синтаксис корректен. - Используйте виртуальные окружения для проектов на C/C++ (например, через
condaилиdocker), чтобы изолировать зависимости. - Регулярно обновляйте систему — это включает обновление пакетов компиляторов:
sudo apt update && sudo apt upgrade # для Debian/Ubuntu sudo dnf upgrade # для Fedora/CentOS 8+
После выполнения этих шагов ошибка gcc: command not found должна исчезнуть, и вы сможете компилировать программы на C и C++ в вашей системе Linux.