ubuntu/debian系统缺少llvm-config是因为只安装了llvm运行时包,未安装llvm-dev开发包;需根据目标llvm版本显式安装对应llvm-x-dev(如llvm-17-dev),并验证llvm-config --version和which llvm-config。

Ubuntu/Debian 系统 missing llvm-config:缺的是 -dev 包
安装 llvm 基础包后找不到 llvm-config,不是装错了,而是只装了运行时,没装开发头文件和工具链。Ubuntu/Debian 把这两部分拆开了:llvm 包只含 clang、llc 等二进制,而 llvm-config 在 llvm-dev 包里。
直接执行:
sudo apt install llvm-dev
注意版本对齐——如果你需要 LLVM 17,就该装 llvm-17-dev;系统默认 apt install llvm-dev 可能指向旧版(如 Ubuntu 20.04 是 LLVM 10)。查清目标版本后,推荐显式指定:
-
apt list --installed | grep llvm看已装哪些 llvm-* 包 -
apt search '^llvm-[0-9]+-dev$'列出可用的 dev 包 - 选中后装,例如:
sudo apt install llvm-17-dev
装完验证:llvm-config --version 应返回对应数字,且 which llvm-config 指向 /usr/bin/llvm-config-17 或软链接。
Windows 上 llvm-config 根本不存在?那是官方预编译包的限制
LLVM 官方 Windows 预编译安装包(如 LLVM-19.1.7-win64.exe)默认不带 llvm-config。这不是漏装,是设计如此——Windows 版主要面向终端用户使用 clang 编译,而非供第三方库(如 llvmlite)构建时调用配置工具。
如果你在 Windows 上要跑 numba 或从源码构建依赖 LLVM 的项目,必须换方案:
- 改用
choco install llvm(Chocolatey 提供带llvm-config的封装,但版本更新滞后) - 或手动下载对应版本的
clang+llvm-*.tar.xz(Linux/macOS 风格全量包),解压后把bin/加入 PATH —— 注意:这个包里的llvm-config是可执行文件,不是脚本,Windows 下需确保扩展名识别正常 - 最省事的替代路径:改用 WSL2,在里面装
llvm-17-dev,避免 Windows 原生环境的工具链割裂
macOS Homebrew 安装后 llvm-config 不在 PATH?PATH 没加对
Homebrew 安装 llvm@15 或 llvm 后,llvm-config 确实存在,但不会自动加入系统 PATH。它被放在 /opt/homebrew/opt/llvm@15/bin/(Apple Silicon)或 /usr/local/opt/llvm@15/bin/(Intel),必须手动导出。
别只加 /opt/homebrew/bin(那是 brew 自身路径,不含 llvm 工具)。正确做法是:
- 确认安装位置:
brew --prefix llvm@15(返回类似/opt/homebrew/opt/llvm@15) - 编辑
~/.zshrc,追加:export PATH="/opt/homebrew/opt/llvm@15/bin:$PATH" - 重载:
source ~/.zshrc,再运行which llvm-config
常见错误:加了 /opt/homebrew/bin 却没加 llvm@X 的 bin 目录;或者用了 brew install llvm(最新版),但项目要求 LLVM 14,结果 llvm-config --version 和 clang --version 不一致——此时必须用 llvm@14 并严格绑定 PATH。
UOS/deepin 系统报错找不到 LLVMConfig.cmake?那是 CMake 构建需要的开发元数据
LLVMConfig.cmake 和 llvm-config.cmake 不是命令行工具,而是 CMake 构建系统用来定位 LLVM 安装信息的模块文件。它们属于 llvm-dev 或完整工具链包的「CMake 支持子集」,普通 llvm 或 llvm-17 包不提供。
UOS/deepin 用户遇到 deepin-ide 编译失败,根本原因是系统仓库的 LLVM 包剥离了 CMake 配置文件。解决方式很直接:
- 不要用
apt install llvm,改用社区提供的完整 deb 包,例如:llvm-7_7.0.1-8_amd64.deb(含全部 cmake 文件) - 下载后手动安装:
sudo dpkg -i llvm-7_7.0.1-8_amd64.deb,再sudo apt --fix-broken install补依赖 - 验证:
find /usr -name "LLVMConfig.cmake" 2>/dev/null应返回路径,如/usr/lib/llvm-7/cmake/LLVMConfig.cmake
这个路径后续会被 CMake 自动探测,无需手动指定 -DLLVM_DIR,除非你装到了非标准位置。
真正容易被忽略的点是:不同场景下“没有 llvm-config”代表完全不同的缺失层级——可能是包没装全(Linux)、设计就不带(Windows 官方包)、PATH 漏配(macOS)、或是根本需要另一类文件(UOS 的 CMake 模块)。先分清你在哪个环节卡住,再找对应解法,比盲目重装 LLVM 有效得多。











