LLVM 的几种安装方式
LLVM 是一个编译器基础设施,它包含了很多子项目,其中 LLVM Core 负责后端功能.
此外,还有 clang, lld, llbd, libc++ 等子项目,它们共同组成了 LLVM.
在后文中,统一使用 LLVM,不再单独提 Clang 或 LLVM Core .
update
2025.04.07 第二次更新.
根据最新的实际情况做了一些调整.
版本选择
LLVM 不同的版本对于 c/cpp 标准的支持情况.
综合考虑你的开发环境(操作系统版本)和想要使用的 c/cpp 标准.
cpp
https://clang.llvm.org/cxx_status.html
c
https://clang.llvm.org/c_status.html
安装思路
LLVM 项目的 APT 仓库地址,没有被 ban,但是下载速度感人.
按照官方的教程来安装,不用代理会非常慢.
https://apt.llvm.org
另外,LLVM 很复杂,可安装的子项目太多了,每人的需求都不一样.
所以,先说有什么解决办法,大家自己来做判断.
使用国内镜像站、自建镜像站、使用 debian/ubuntu/centos 的软件源安装、使用代理工具(官方安装方式)、从源码编译安装
使用国内镜像
LLVM 国内镜像,目前只有清华源(2025.04.07),其他源都是从清华源同步而来的.
清华源之前只从 llvm 版本角度同步,只同步最新的 llvm.
现在考虑了操作系统版本,同步的版本多了起来.
当前支持,以下操作系统的 LLVM安装.
在后面介绍,每个操作系统大版本,能安装的LLVM版本
debian 11 12
ubuntu 18 20 24
对于其他,比如旧版本和centos这样redhat系linux,你需要从它的软件源安装.
自建镜像站
自建一个镜像站,属于一劳永逸的方案.
需要一个大硬盘,第一次同步,需要花很多时间.
后续使用,就非常轻松了.
你可以使用 apt-mirror 这个工具来搭建镜像站.
https://github.com/apt-mirror/apt-mirror
NB 对于一些古老的版本,1.0 2.0 这样的,官方镜像站也没有.
我之前写过一篇,使用 apt-cacher-ng 搭建镜像缓存站的博客.
https://zhuanlan.zhihu.com/p/1568921196
镜像缓存站,只缓存一部分需要的文件,占用硬盘空间更小.
但是同样的第一次缓存,很花时间.
使用 debian/ubuntu/centos 源安装
主流的 linux 发行版,维护了一套自己的 LLVM 安装包,放到自己的软件源里.
这些软件软在国内都有镜像,安装起来速度也不慢.
应该没人在 Windows 上用 LLVM 吧.
使用代理工具
这个是我最推荐的,少折腾,最省事.
即便你使用代理,我也建议你看看官方文档,和先使用 Docker 测试安装.
从源码编译安装
从源码安装,有三种方式
编译出安装包(exe, deb, rpm).
编译出可执行文件
直接编译安装.
第一种,LLVM 给出一份编译指导.
结合前面那个项目,花点时间应该能搞明白
https://apt.llvm.org/building-pkgs.php
第二种,LLVM 官方编译好了可执行文件,你可以直接下载来用,清华源也提供了镜像(只包含最新版本).
https://github.com/llvm/llvm-project
https://mirrors.tuna.tsinghua.edu.cn/github-release/llvm/llvm-project/
第三种,LLVM 也给出了官方文档.
LLVM 每个大版本都有一个的官方指导.
你可以在这个页面找到.
https://releases.llvm.org
会在后文介绍第三种的编译过程.
其实我更推荐你研究第一种,直接编译生成 deb 包.
思路:创建一个 github 仓库,写好 github action ,
按照版本 tag,自动化构建 deb 包,推送到 release 中,需要那个下载哪个就行.
这里我们留个坑以后再填
官方安装方式
通过官方 https://apt.llvm.org apt 仓库安装.
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
chmod +x llvm.sh
sudo ./llvm.sh
每个操作系统大版本,能安装的LLVM版本不同.
打个比方,debian9 能装llvm15,但是不能装20, 21.
所以你需要去官方仓库 glance 一下.
LLVM 对于 debian 发行版的支持(2025.04.07)
debian12 llvm 15-20
https://apt.llvm.org/bookworm/pool/main/l/
debian11 llvm 11-20
https://apt.llvm.org/bullseye/pool/main/l/
debian10 llvm 7-20
https://apt.llvm.org/buster/pool/main/l/
debian9 llvm 4-15
https://apt.llvm.org/stretch/pool/main/l/
debian8 llvm 3.6-8
https://apt.llvm.org/jessie/pool/main/l/
debian7 llvm 3.4
https://apt.llvm.org/wheezy/pool/main/l/
在 debian 12 上安装 llvm20
安装 20
./llvm.sh 20 all
注意:安装后的命令是带版本号的
clang-20 --version
clang++-20 --version
你也可以软连接过去
ln -sf $(which clang-20) /usr/bin/clang
ln -sf $(which clang++-20) /usr/bin/clang++
浙公网安备 33010602011771号