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

Elm Language Server 无法与 Neovim 配合使用求助

解决elmls与Neovim LSP配合故障的方案

问题核心

从LSP日志可定位两个关键问题:

  1. Node.js的Fetch API实验性警告(仅环境提示,不影响核心功能)
  2. 无法解析tree-sitter.wasm的本地路径,这是LSP失效的直接原因

修复步骤

1. 升级Node.js版本

低版本Node.js(低于18.x)中Fetch API为实验特性,且对本地文件URL的处理逻辑与web-tree-sitter不兼容:

  • 安装Node.js 18.x及以上LTS版本
  • 验证版本:执行node --version确认

2. 重新安装elm-language-server

nvim-lspinstaller安装过程中可能出现文件损坏或路径配置异常:

  1. 在Neovim中执行:LspUninstall elmls卸载现有服务
  2. 执行:LspInstall elmls重新安装
  3. 重启Neovim后测试LSP功能

3. 调整elmls配置(前两步无效时尝试)

手动指定web-tree-sitter的加载路径,避免URL解析错误:

lspconfig.elmls.setup {
  root_dir = require "lspconfig.util".root_pattern("elm.json","git"),
  cmd = {
    "node",
    "--no-warnings",
    "/Users/bokutotu/.local/share/nvim/lsp_servers/elmls/node_modules/@elm-tooling/elm-language-server/lib/server.js",
    "--stdio"
  },
  init_options = {
    elmPath = "elm",
    elmFormatPath = "elm-format",
    elmTestPath = "elm-test",
    treeSitterWasmPath = "file:///Users/bokutotu/.local/share/nvim/lsp_servers/elmls/node_modules/@elm-tooling/elm-language-server/node_modules/web-tree-sitter/tree-sitter.wasm"
  }
}

4. 验证本地依赖完整性

检查tree-sitter.wasm文件是否存在:

ls /Users/bokutotu/.local/share/nvim/lsp_servers/elmls/node_modules/@elm-tooling/elm-language-server/node_modules/web-tree-sitter/tree-sitter.wasm

若文件缺失,手动安装依赖:

cd /Users/bokutotu/.local/share/nvim/lsp_servers/elmls/node_modules/@elm-tooling/elm-language-server
npm install web-tree-sitter

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:15:29