Что означает ошибка git: command not found
Ошибка git: command not found (или bash: git: command not found) появляется в терминале Linux, когда система не может найти исполняемый файл команды git в каталогах, указанных в переменной окружения PATH. Это означает, что либо Git не установлен в системе, либо установлен, но его путь не добавлен в PATH, либо есть проблемы с правами доступа.
Обычно ошибка выглядит так:
$ git clone https://github.com/user/repo.git
bash: git: command not found
Или (в Zsh):
zsh: command not found: git
Причины возникновения
- Git не установлен —最常见ая причина. В чистой установке Linux (особенно минимальных дистрибутивах) Git часто отсутствует по умолчанию.
- Путь к Git не добавлен в
PATH— Git установлен в нестандартное место (например, в/usr/local/bin), а этот каталог отсутствует в переменнойPATH. - Повреждение установки Git — файлы Git были удалены или повреждены частично.
- Недостаточно прав на выполнение — у вашего пользователя нет прав на выполнение файла
git(редко, но возможно при ручной установке). - Ошибка в конфигурации оболочки — в файлах
~/.bashrc,~/.profileили~/.zshrcесть некорректные изменения, сломавшиеPATH.
Способ 1: Установка Git через менеджер пакетов (рекомендуется)
Если Git не установлен, самый простой способ — установить его через встроенный менеджер пакетов вашего дистрибутива.
Для Ubuntu/Debian и производных:
sudo apt update
sudo apt install git
Для Fedora/RHEL/CentOS 8+:
sudo dnf install git
Для CentOS 7 и старше используйте yum вместо dnf.
Для Arch Linux:
sudo pacman -S git
Проверка установки:
После установки проверьте, что команда доступна:
git --version
Пример вывода: git version 2.43.0.
Способ 2: Добавление пути к Git в переменную PATH
Если Git уже установлен (проверьте which git), но команда не находится, скорее всего, его каталог отсутствует в PATH.
- Найдите расположение исполняемого файла git:
sudo find / -type f -name git 2>/dev/null | head -10
Обычно git находится в/usr/bin/git,/usr/local/bin/gitили/opt/git/bin/git. - Определите каталог, содержащий
git(например,/usr/local/bin). - Добавьте этот каталог в
PATHв конфигурационном файле вашей оболочки.- Для Bash (стандартная оболочка в большинстве дистрибутивов) отредактируйте
~/.bashrc:
Заменитеecho 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc/usr/local/binна ваш каталог. - Для Zsh отредактируйте
~/.zshrc:echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
- Для Bash (стандартная оболочка в большинстве дистрибутивов) отредактируйте
- Примените изменения:
source ~/.bashrc # или source ~/.zshrc - Проверьте:
echo $PATH which git
💡 Совет: Убедитесь, что каталог добавлен в начало
PATH(как в примере выше), если хотите, чтобы ваша версия git имела приоритет над системной.
Способ 3: Проверка и исправление прав доступа
Если Git установлен в системные каталоги (например, /usr/bin), но команда не работает из-за прав, выполните:
- Проверьте права на файл
git:ls -l $(which git 2>/dev/null || echo "/usr/bin/git")
Пример вывода:-rwxr-xr-x 1 root root 12M Jan 15 12:34 /usr/bin/git
Права-rwxr-xr-x(755) означают, что все пользователи могут выполнять файл. - Если нет прав на выполнение (
x), исправьте:sudo chmod +x $(which git) - Если файл принадлежит другому пользователю (что маловероятно для системных пакетов), проверьте, не повреждена ли установка. Лучше переустановите Git (Способ 1).
Профилактика
- Всегда устанавливайте Git через официальный менеджер пакетов вашего дистрибутива. Это гарантирует корректное добавление в
PATHи управление зависимостями. - Не перемещайте и не удаляйте файлы Git вручную после установки.
- При настройке
PATHвручную проверяйте синтаксис и дублирование каталогов. Используйтеecho $PATHдля просмотра текущего значения. - После изменений в
~/.bashrc/~/.zshrcвсегда выполняйтеsourceили перезапускайте терминал. - Регулярно обновляйте Git через менеджер пакетов (
sudo apt upgrade git,sudo dnf update git).
FAQ
Что делать, если which git ничего не выводит, но git --version работает?
Это может означать, что git находится в каталоге, который есть в PATH, но which не находит его из-за алиасов или функций. Проверьте, не является ли git алиасом: type git. Если это алиас, настройки находятся в ~/.bashrc/~/.zshrc.
Можно ли установить Git только для текущего пользователя?
Да, можно скомпилировать из исходников и установить в ~/.local. Тогда добавьте export PATH="$HOME/.local/bin:$PATH" в ~/.bashrc. Но для большинства пользователей проще использовать системный пакетный менеджер.
Почему после установки Git через apt команда всё равно не найдена?
Такое возможно, если вы используете нестандартную оболочку или сессию без загрузки профиля. Проверьте, загружается ли ~/.profile или ~/.bashrc. Можно добавить путь в ~/.profile (который загружается чаще) или в /etc/profile.d/git.sh для всех пользователей.
Как полностью удалить Git и установить заново?
- Ubuntu/Debian:
sudo apt purge git && sudo apt install git - Fedora:
sudo dnf remove git && sudo dnf install git - Arch:
sudo pacman -Rns git && sudo pacman -S gitПосле переустановки проверьтеgit --version.