Установка Clang на Debian 13, 12, 11: полное руководство

Clang — это компилятор для языков C, C++ и Objective-C, разрабатываемый проектом LLVM. Он известен быстрой компиляцией, понятными сообщениями об ошибках и отличной совместимостью с современными стандартами C++. Clang используется во многих проектах (Chrome, Firefox, FreeBSD) и является отличной альтернативой GCC.

В этом руководстве я покажу два способа установки Clang на Debian:

  1. Из официальных репозиториев Debian (просто, но версия зависит от релиза)
  2. Из репозитория LLVM (apt.llvm.org) (свежая версия 20.x)
МетодВерсияОбновленияДля кого
Debian APTDebian 13: 19.1.x;
Debian 12: 14.0.x;
Debian 11: 11.0.x
Через apt upgradeБольшинство
пользователей
LLVM APT-
репозиторий
20.x (через clang-20)Через apt upgradeТе, кому нужна свежая
версия

⚠️ Важно: Репозиторий LLVM устанавливает версионный бинарный файл (clang-20), а не заменяет стандартный clang. Оба могут сосуществовать.


Оглавление

Предварительные требования

Перед установкой убедитесь, что:

  • Вы имеете права sudo (администратора)

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.

Ожидаемый вывод в терминале:

root

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.


Способ 1: Установка Clang из репозиториев Debian

Шаг 1: Обновите систему

sudo apt update && sudo apt upgrade -y

Шаг 2: Установите Clang

sudo apt install -y clang

Шаг 3: Проверьте установку

clang --version

Ожидаемый вывод (зависит от версии Debian):

  • Debian 13: Debian clang version 19.1.7
  • Debian 12: Debian clang version 14.0.6
  • Debian 11: Debian clang version 11.0.1

Способ 2: Установка Clang 20 из репозитория LLVM (apt.llvm.org)

Этот способ даёт более свежую версию Clang (20.x) на любой версии Debian.

Шаг 1: Установите зависимости

sudo apt install -y ca-certificates curl gpg

Шаг 2: Добавьте GPG-ключ репозитория LLVM

curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key | sudo gpg --dearmor --yes -o /usr/share/keyrings/apt-llvm-org.gpg

Шаг 3: Добавьте репозиторий LLVM

. /etc/os-release
printf '%s\n' \
"Types: deb" \
"URIs: https://apt.llvm.org/${VERSION_CODENAME}/" \
"Suites: llvm-toolchain-${VERSION_CODENAME}-20" \
"Components: main" \
"Signed-By: /usr/share/keyrings/apt-llvm-org.gpg" | sudo tee /etc/apt/sources.list.d/apt-llvm-org.sources > /dev/null

Шаг 4: Обновите список пакетов

sudo apt update

Шаг 5: Проверьте, что пакет clang-20 виден

apt-cache policy clang-20

Ожидаемый вывод: Должна быть строка с apt.llvm.org.

Шаг 6: Установите Clang 20

sudo apt install -y clang-20

Шаг 7: Проверьте установку

clang-20 --version

Ожидаемый вывод: Debian clang version 20.1.8 (или новее).

command -v clang-20

Ожидаемый вывод: /usr/bin/clang-20


Тестовый пример

Шаг 1: Создайте тестовую программу

cat <<'EOF' > hello-clang.c
#include <stdio.h>

int main(void) {
    puts("Clang works on Debian.");
    return 0;
}
EOF

Шаг 2: Скомпилируйте и запустите

Для APT-версии:

clang hello-clang.c -o hello-clang
./hello-clang

Для LLVM-версии:

clang-20 hello-clang.c -o hello-clang-20
./hello-clang-20

Ожидаемый вывод: Clang works on Debian.


Обновление Clang

Обновление APT-версии

Debian 13:

sudo apt update && sudo apt install --only-upgrade clang clang-19 -y

Debian 12:

sudo apt update && sudo apt install --only-upgrade clang clang-14 -y

Debian 11:

sudo apt update && sudo apt install --only-upgrade clang clang-11 -y

Обновление LLVM-версии

sudo apt update && sudo apt install --only-upgrade clang-20 -y

Решение типичных проблем

8.1 Ошибка: clang: command not found после установки LLVM-версии

Симптом: clang --version не работает, хотя clang-20 установлен.

Причина: LLVM-репозиторий устанавливает только версионный бинарный файл (clang-20), а не симлинк clang.

Пошаговое решение:

Используйте clang-20 вместо clang или установите APT-пакет clang для создания симлинка.


8.2 Ошибка: GPG key error при apt update

Симптом: sudo apt update выдаёт ошибку ключа.

Причина: Проблемы с GPG-ключом репозитория LLVM.

Пошаговое решение:

Переустановите ключ:

sudo rm -f /usr/share/keyrings/apt-llvm-org.gpg
curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key | sudo gpg --dearmor --yes -o /usr/share/keyrings/apt-llvm-org.gpg
sudo apt update

8.3 Ошибка: Неправильная версия Clang активна

Симптом: clang --version показывает не ту версию (например, 14 вместо 20).

Причина: Установлены обе версии, и APT-версия находится в PATH раньше.

Пошаговое решение:

Используйте полный путь или явно вызывайте нужную версию:

clang-20 --version

Или удалите старую версию:

sudo apt remove clang clang-14

8.4 Ошибка: Не найден заголовочный файл при компиляции

Симптом: fatal error: 'stdio.h' file not found.

Причина: Не установлены заголовочные файлы стандартной библиотеки.

Пошаговое решение:

Установите пакеты разработки:

sudo apt install -y build-essential

8.5 Ошибка: Несовместимость версий Clang и LLVM

Симптом: При компиляции ошибки линковки или несовместимости ABI.

Причина: Установлены разные версии Clang и LLVM.

Пошаговое решение:

Устанавливайте Clang из одного источника (только APT или только LLVM-репозиторий). Не смешивайте.


Чек-лист: что проверить после установки

  • [ ] Clang установлен: clang --version (APT) или clang-20 --version (LLVM) показывает версию
  • [ ] Компиляция работает: clang hello-clang.c -o test && ./testClang works on Debian.
  • [ ] Для LLVM-версии: command -v clang-20/usr/bin/clang-20
  • [ ] GPG-ключ настроен (для LLVM): ls /usr/share/keyrings/apt-llvm-org.gpg

Удаление Clang

Удаление APT-версии

Debian 13:

sudo apt remove clang clang-19
sudo apt autoremove

Debian 12:

sudo apt remove clang clang-14
sudo apt autoremove

Debian 11:

sudo apt remove clang clang-11
sudo apt autoremove

Удаление LLVM-версии

sudo apt remove clang-20
sudo apt autoremove
sudo rm -f /etc/apt/sources.list.d/apt-llvm-org.sources
sudo rm -f /usr/share/keyrings/apt-llvm-org.gpg
sudo apt update

Часто задаваемые вопросы (FAQ)

Вопрос: Какая версия Clang в Debian 13 по умолчанию?
Ответ: Debian 13 (Trixie) содержит Clang 19.1.x в официальных репозиториях.

Вопрос: Нужно ли удалять GCC перед установкой Clang?
Ответ: Нет, они прекрасно сосуществуют.

Вопрос: Clang быстрее GCC?
Ответ: Clang обычно быстрее компилирует, но GCC часто генерирует более оптимизированный код. Выбор зависит от проекта.

Вопрос: Могу ли я использовать Clang для компиляции ядра Linux?
Ответ: Да, начиная с ядра 5.18, Clang является полноценной альтернативой GCC для сборки ядра.

Вопрос: Как переключиться между Clang и GCC по умолчанию?
Ответ: Используйте update-alternatives --config cc.


Заключение

Теперь Clang установлен на вашем Debian. Вы можете компилировать C/C++ проекты с современным компилятором и наслаждаться понятными сообщениями об ошибках.

Что дальше?

  • Установите CMake для управления сборкой
  • Установите Git для контроля версий
  • Установите Visual Studio Code с расширениями для C++