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

nvim-lsp-installer运行配置报错 找不到lspconfig.util模块

nvim-lsp-installer 配置报错:找不到lspconfig.util模块

报错信息

配置加载时Packer抛出以下错误:

packer.nvim: Error running config for nvim-lsp-installer:
...nvim-lsp-installer/lua/nvim-lsp-installer/middleware.lua:1: module 'lspconfig.util' not found:
^Ino field package.preload['lspconfig.util']
^Ino file './lspconfig/util.lua'
^Ino file '/home/oriyia/.tmp/neovim/.deps/usr/share/luajit-2.1.0-beta3/lspconfig/util.lua'
^Ino file '/usr/local/share/lua/5.1/lspconfig/util.lua'
^Ino file '/usr/local/share/lua/5.1/lspconfig/util/init.lua'
^Ino file '/home/oriyia/.tmp/neovim/.deps/usr/share/lua/5.1/lspconfig/util.lua'
^Ino file '/home/oriyia/.tmp/neovim/.deps/usr/share/lua/5.1/lspconfig/util/init.lua'
^Ino file '/home/oriyia/.cache/nvim/packer_hererocks/2.1.0beta3/share/lua/5.1/lspconfig/util.lua'
^Ino file '/home/oriyia/.cache/nvim/packer_hererocks/2.1.0beta3/share/lua/5.1/lspconfig/util/init.lua'
^Ino file '/home/oriyia/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks5.1/lspconfig/util.lua'
^Ino file '/home/oriyia/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks5.1/lspconfig/util/init.lua'
^Ino file './lspconfig/util.so'
^Ino file '/usr/local/lib/lua/5.1/lspconfig/util.so'
^Ino file '/home/oriyia/.tmp/neovim/.deps/usr/lib/lua/5.1/lspconfig/util.so'
^Ino file '/usr/local/lib/lua/5.1/loadall.so'
^Ino file '/home/oriyia/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/lspconfig/util.so'
^Ino file './lspconfig.so'
^Ino file '/usr/local/lib/lua/5.1/lspconfig.so'
^Ino file '/home/oriyia/.tmp/neovim/.deps/usr/lib/lua/5.1/lspconfig.so'
^Ino file '/usr/local/lib/lua/5.1/loadall.so

基础环境信息

  • Neovim版本:v0.7.0,安装路径/opt/nvim/
  • 插件管理器:Packer,已按官方指引完成安装
  • 用户配置目录结构:
-init.lua
-lua
   -plagins.lua
   -options.lua
   -keymaps.lua
  • 原有插件配置(plugins.lua):
return require('packer').startup(function()
    -- Packer can manage itself
    use 'wbthomason/packer.nvim'
    -- tokyonight theme
    -- onedark
    use 'navarasu/onedark.nvim'

    -- nvim-lsp-installer, nvim-lspconfig
    use {
        {
            "williamboman/nvim-lsp-installer",
            config = function ()
                require("nvim-lsp-installer").setup{}
            end
        },
        {
            "neovim/nvim-lspconfig",
            after = "nvim-lsp-installer",
            config = function()
                local lspconfig = require("lspconfig")
                lspconfig.pyright.setup {}
            end
        }
    }
end)

故障根因

插件加载顺序配置错误:nvim-lsp-installer本身依赖nvim-lspconfig提供的工具模块,但原有配置给nvim-lspconfig设置了after = "nvim-lsp-installer"规则,强制lspconfig在nvim-lsp-installer加载完成后才启动,导致nvim-lsp-installer初始化时找不到lspconfig.util模块。

修复方案

  1. 调整插件依赖与加载顺序
    给nvim-lsp-installer显式声明依赖nvim-lspconfig,保证Packer优先加载lspconfig,再启动nvim-lsp-installer,同时把LSP服务配置统一放到nvim-lsp-installer的初始化回调里,避免加载时序问题。修正后的配置如下:
return require('packer').startup(function()
    -- Packer自管理
    use 'wbthomason/packer.nvim'
    -- onedark主题
    use 'navarasu/onedark.nvim'

    -- LSP相关插件
    use {
        "williamboman/nvim-lsp-installer",
        -- 声明依赖,强制lspconfig先加载
        requires = "neovim/nvim-lspconfig",
        config = function ()
            require("nvim-lsp-installer").setup{}
            -- lsp-installer初始化完成后再配置LSP服务
            local lspconfig = require("lspconfig")
            lspconfig.pyright.setup {}
        end
    }
end)
  1. 重置插件状态
    保存配置后重启Neovim,依次执行以下Packer命令完成插件重装:
  • 执行:PackerClean清理状态异常的旧插件
  • 执行:PackerInstall重新拉取安装依赖插件
  • 执行:PackerCompile重新生成插件加载字节码
  1. 验证结果
    再次重启Neovim,执行:LspInstallInfo,如果能正常弹出LSP服务安装列表界面,说明报错已修复。

排查注意点

  • 配置目录内的插件配置文件存在拼写错误:当前文件名为plagins.lua,正确拼写为plugins.lua,需确认init.lua内引用的文件名与实际文件名一致,否则配置不会被加载。
  • nvim-lsp-installer已停止官方维护,后续升级Neovim到0.8及以上版本时,可替换为其后继项目Mason,v0.7.0版本下nvim-lsp-installer可正常兼容使用。

内容的提问来源于stack exchange,提问作者Илья Ярусов

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:36:24