ARM服务器通过Mason安装Clangd遇平台不支持错误的解决及替代方案咨询
解决ARM服务器上Mason安装Clangd不支持的问题及替代C++ LSP推荐
一、ARM平台安装Clangd的解决方案
1. 从源码编译Clangd
Mason提供的预编译Clangd包不支持ARM架构,可自行从LLVM源码编译:
- 安装编译依赖:
sudo apt install cmake ninja-build git gcc g++(Debian/Ubuntu系),其他发行版可使用对应包管理器命令安装依赖 - 克隆LLVM项目源码:
git clone --depth 1 --branch llvmorg-18.1.8 https://github.com/llvm/llvm-project.git(可替换为最新稳定分支) - 创建编译目录并配置CMake:
mkdir llvm-build && cd llvm-build cmake -G Ninja ../llvm-project/llvm \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \ -DLLVM_TARGETS_TO_BUILD="ARM;AArch64" - 编译并安装:
ninja clangd && sudo ninja install - 编译完成后,在编辑器的LSP客户端配置中指向系统路径下的
clangd即可。
2. 使用系统包管理器安装
多数ARM发行版的官方仓库已提供Clangd包,直接安装后配置LSP使用系统版本:
- Debian/Ubuntu:
sudo apt install clangd - RHEL/CentOS/Rocky:
sudo dnf install clang-tools-extra - 安装后,在Mason配置中禁用自动安装Clangd,手动指定系统的
clangd路径作为LSP服务端。
3. 手动下载ARM预编译包
部分第三方源或LLVM官方提供ARM架构的预编译包:
- 下载对应ARM架构的LLVM预编译压缩包,解压后找到
bin/clangd二进制文件 - 将该路径添加到系统环境变量
PATH,或在LSP客户端配置中直接指定该二进制的绝对路径。
二、Mason中推荐的C++ LSP替代选项
- ccls:基于LLVM的高性能C/C++ LSP,对ARM架构支持良好,涵盖代码补全、跳转、重构、诊断等核心功能,可通过Mason直接安装:
:MasonInstall ccls - cpptools:微软官方的C/C++ LSP实现,支持ARM平台,集成代码分析、调试联动等功能,适合习惯VSCode C++工具链的用户,安装命令:
:MasonInstall cpptools - cmake-language-server:针对CMake脚本的专用LSP,可配合C++ LSP使用,提供CMake语法补全、诊断等功能,安装命令:
:MasonInstall cmake-language-server
内容的提问来源于stack exchange,提问作者arutoria
相关产品推荐
相关产品推荐

