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

Neovim配置none-ls时加载eslint_d失败,请求协助排查

解决none-ls加载eslint_d失败的问题

以下是针对该错误的几种排查和解决方向:

  • 检查none-ls内置源兼容性
    新版none-ls(nvimtools/none-ls.nvim)可能调整了内置源的结构或移除了部分源。可以在Neovim中执行命令:lua print(vim.inspect(require("null-ls").builtins.diagnostics)),查看输出中是否存在eslint_d。如果没有,说明该内置源已被移除,可尝试降级none-ls到稳定版本,或改用自定义源配置。

  • 手动指定eslint_d可执行路径
    即使全局或通过Mason安装了eslint_d,Neovim可能无法自动识别其路径。可以在配置中手动指定:

    null_ls.builtins.diagnostics.eslint_d.with({
      command = "/path/to/eslint_d", -- 替换为实际路径,比如`~/.local/share/nvim/mason/bin/eslint_d`或终端执行`which eslint_d`得到的全局路径
    }),
    
  • 验证eslint_d自身可用性
    在终端执行eslint_d --version,如果命令报错,说明eslint_d安装存在问题。可尝试重新全局安装:

    npm uninstall -g eslint_d && npm install -g eslint_d
    

    同时确保当前Node.js版本为LTS版本,避免版本不兼容。

  • 检查项目eslint配置文件
    eslint_d需要项目根目录存在.eslintrc、eslint.config.js等配置文件才能正常工作。如果当前打开的项目没有这类文件,none-ls可能无法初始化该源,可在项目根目录创建基础配置文件测试。

  • 改用自定义源配置
    若内置源确实无法使用,可手动注册自定义诊断源:

    null_ls.register({
      name = "eslint_d",
      method = null_ls.methods.DIAGNOSTICS,
      filetypes = { "javascript", "javascriptreact", "typescript", "typescriptreact", "vue", "svelte" },
      generator = null_ls.generator({
        command = "eslint_d",
        args = { "--format", "json", "--stdin", "--stdin-filename", "$FILENAME" },
        to_stdin = true,
        format = "json",
        check_exit_code = function(code)
          return code == 0 or code == 1
        end,
        on_output = function(params)
          local diagnostics = {}
          for _, result in ipairs(params.output or {}) do
            for _, msg in ipairs(result.messages or {}) do
              table.insert(diagnostics, {
                row = msg.line,
                col = msg.column,
                end_row = msg.endLine,
                end_col = msg.endColumn,
                source = "eslint_d",
                message = msg.message,
                severity = null_ls.diagnostics.severities[msg.severity],
              })
            end
          end
          return diagnostics
        end,
      }),
    })
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 18:10:19