You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Neovim无法启用Lua LSP,提示Client 2退出码127求解决

解决Termux环境下Neovim lua-language-server执行文件缺失问题

问题根源

错误码127表示系统找不到指定的可执行文件,日志显示Mason安装的lua-language-server二进制文件不存在或无法运行。这是因为Termux是Android专属Linux环境,Mason默认拉取的预编译包不兼容ARM/ARM64架构,导致安装后没有生成可用的执行文件。

解决方法

1. 手动编译适配Termux的lua-language-server

  • 安装编译依赖:
    pkg install git ninja lua54 luajit
    
  • 拉取源码并初始化子模块:
    git clone https://github.com/LuaLS/lua-language-server.git --depth 1
    cd lua-language-server
    git submodule update --init --recursive
    
  • 编译生成可执行文件:
    cd 3rd/luamake
    ./compile/install.sh
    cd ../..
    ./3rd/luamake/luamake rebuild
    
  • 替换Mason中的无效文件:
    找到Mason的lua-language-server安装目录:/data/data/com.termux/files/home/.local/share/nvim/mason/packages/lua-language-server/extension/server/bin/,将编译好的lua-language-server(位于项目根目录的bin/文件夹下)复制到该目录,覆盖原有文件(若存在)。

2. 验证修复效果

重启Neovim后打开.lua文件,执行:LspInfo查看服务状态,确认lua-language-server已正常启动,再通过:LspLog检查是否还有错误。

3. 优化Mason安装配置(可选)

若不想每次都手动编译,可修改Neovim配置让Mason优先适配Termux环境:

require("mason").setup({
  providers = {
    "mason.providers.client",
    "mason.providers.registry-api",
  },
})

注:此配置仅部分LSP生效,手动编译仍是最可靠的方案。


内容的提问来源于stack exchange,提问作者Bittermann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 08:15:08