如何在 Ubuntu 18.04 上使用更新的 clang-format 或 clang-tidy 版本?

Son*_*c78 9 18.04

同时,LLVM 已发布适用于 LLVM 13 和 14 的 apt 软件包,但开箱即用的 clang-format-13、clang-tidy-13 等无法通过apt-get install clang-format-13.

如何在 Ubuntu 18.04 上安装 clang-format-13?

Son*_*c78 7

首先做一个sudo apt update和一个可选的sudo apt upgrade,检查一切是否正常且有效。第二次备份要更新的sources.list(下一步)。

将https://apt.llvm.org/中的匹配存储库添加到您的源之一,例如/etc/apt/sources.list. 例子:

sudo add-apt-repository 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main'
Run Code Online (Sandbox Code Playgroud)

这应该将以下内容添加到您的末尾/etc/apt/sources.list

deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-13 main
# deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-13 main
Run Code Online (Sandbox Code Playgroud)

然后执行sudo apt update. 如果您收到错误消息“由于公钥不可用,无法验证以下签名:NO_PUBKEY ...”,那么您必须使用以下命令添加缺少的公钥apt-key add

# download key file
wget https://apt.llvm.org/llvm-snapshot.gpg.key
# add the key
sudo apt-key add llvm-snapshot.gpg.key
Run Code Online (Sandbox Code Playgroud)

一班轮:wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -. 请注意,您现在信任带有该密钥的软件包!

然后你可以在Ubuntu 18.04上安装clang-format-13、clang-tidy-13:

sudo apt update
sudo apt install clang-format-13
Run Code Online (Sandbox Code Playgroud)

这也适用于 Ubuntu 20.04(http://apt.llvm.org/focal/llvm-toolchain-focal-13)或 clang-format-14。

  • 按照接受的答案后,我只能安装 clang-format-12。clang-format-13 和 clang-format-14 仍然报告“无法找到包” (2认同)

jok*_*kwa 6

我在 Ubuntu 18.04 上安装时遇到了同样的问题,clang-format-12我通过运行下面的脚本解决了我的问题

wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 12
sudo apt install clang-format-12
Run Code Online (Sandbox Code Playgroud)

对于 clang-format-13 我相信将 12 替换为 13 如下所示可以解决它

wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 13
sudo apt install clang-format-13
Run Code Online (Sandbox Code Playgroud)