NeoVim clangd ARM版本

我在 Debian镜像(tini进程管理器) Dockerfile中配置了自动安装 NeoVim IDE ,但是发现移植到 Raspberry Pi 上使用时,有提示报错。根据 :MasonLog 日志显示:

:MasonLog 显示 clangd LSP 不支持ARM平台
[INFO  Thu 19 Sep 2024 01:12:27 PM CST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:184: Executing installer for Package(name=clangd) {}
[ERROR Thu 19 Sep 2024 01:12:27 PM CST] ...e/nvim/lazy/mason.nvim/lua/mason-core/installer/init.lua:249: Installation failed for Package(name=clangd) error="The current platform is unsupported."

这个报错原因是 Mason 会自动从官方下载发布的二进制安装包进行自动部署,但是 LLVM releases 提供的二进制包针对Linux平台只有 X86 而没有 ARM64 版本。这就是我在阿里云虚拟机(X86)上通过 Debian镜像(tini进程管理器) 自动完成部署,但是迁移到 Raspbery Pi OS(Raspbian) 却安装 lsp.clangd 失败的原因。

备注

Mason会自动下载官方 clangd 二进制安装包,安装到 ~/.local/share/nvim/mason/packages/clangd/ 目录下,在这个目录下的 clangd_18.1.3/bin/clangd 就是可执行的llvm clangd。

参考 add linux_arm64 to clangd registry #5800 手工解决方法 解决方法如下(安装发行版clangd):

通过安装发行版clangd解决debian ARM的NeoVim LSP
sudo apt install clangd-16
ln -s /usr/bin/clangd-16 ~/.local/share/nvim/mason/bin/clangd
mkdir ~/.local/share/nvim/mason/packages/clangd

参考