# @elm-tooling/elm-language-server 中文文档

规范地址：https://npmcn.com/package/%40elm-tooling/elm-language-server/

版本：2\.10\.0
npm 元数据更新时间：2026-10-02T15:41:30.974Z
中文译文更新时间：2026-11-13T13:39:59.756Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40elm-tooling/elm-language-server
原文对照：https://npmcn.com/package/%40elm-tooling/elm-language-server/?lang=original
项目主页：https://github.com/elm-tooling/elm-language-server#readme
源码仓库：https://github.com/elm-tooling/elm-language-server

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.7 MB，334 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.17\.0
- 运行依赖：11 个
- 首次发布：2019-06-08T13:43:30.652Z
- 最新版本发布：2026-10-02T15:41:30.594Z
- 近 30 天下载量：4863（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：58（近 12 个月 1 个）

## 中文简介

在节点中执行精灵语言服务器.

## 安装

```sh
npm install @elm-tooling/elm-language-server
```

也可以使用：`pnpm add @elm-tooling/elm-language-server`、`yarn add @elm-tooling/elm-language-server`、`bun add @elm-tooling/elm-language-server`

## README

# 精灵语言服务器

![Matrix](https://img.shields.io/matrix/elm-language-server:matrix.org?label=Matrix%20chat&logo=Matrix) [![Build Status](https://github.com/elm-tooling/elm-language-server/workflows/Lint%20and%20test/badge.svg)](https://github.com/elm-tooling/elm-language-server/actions) [![Open in Visual Studio Code](https://open.vscode.dev/badges/open-in-vscode.svg)](https://open.vscode.dev/elm-tooling/elm-language-server)

[![Packaging status](https://repology.org/badge/vertical-allrepos/elm-language-server.svg)](https://repology.org/project/elm-language-server/versions)

这是Elm编程语言的语言服务器执行.

**目录**

-   [安装](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-installation)
    -   [替代品:从源头编译并安装](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-alternative-compile-and-install-from-source)
    -   [替代品: 安装 Nix](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-alternative-install-with-nix)
-   [所需资源](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-requirements)
-   [配置](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-configuration)
    -   [线性](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-linting)
-   [特征](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-features)
-   [服务器设置](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-server-settings)
-   [编辑器支持](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-editor-support)
    -   [虚拟系统](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-vscode)
    -   [维姆](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-vim)
        -   [缩写](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-cocnvim)
        -   [阿列尔](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-ale)
        -   [语言库](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-languageclient)
    -   [卡库内](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-kakoune)
        -   [kak - lsp (英语)](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-kak-lsp)
    -   [埃马克斯](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-emacs)
        -   [Emacs 毁灭日](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-emacs-doom)
    -   [高级](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-sublime)
-   [伟大的图书馆 这是基于](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-awesome-libraries-this-is-based-on)
-   [捐款](https://npmcn.com/package/%40elm-tooling/elm-language-server/#readme-contributing)

## 安装

VSCode 用户说明: [插件](https://github.com/elm-tooling/elm-language-client-vscode) 包含语言服务器。 无需安装.

服务器可以通过 `npm` (或出自出处.

```sh
npm install -g @elm-tooling/elm-language-server
```

然后,您应该能够以以下命令运行语言服务器:

```sh
elm-language-server
```

如果你用电壳的话,你可能需要用这个:

```powershell
elm-language-server.cmd
```

遵循以下指令将语言服务器集成到您的编辑器中 .

### 替代品:从源头编译并安装

首先,复制这个repo并编译它. `npm link` 将添加 `elm-language-server` 页:1 `PATH`。 。 。 .

```sh
git clone git@github.com:elm-tooling/elm-language-server.git
cd elm-language-server
npm install
npm run compile
npm link
```

### 替代品:安装方式 [无](https://nixos.org/)

`elm-languager-server` 联 合 国 [依赖关系](https://github.com/elm-tooling/elm-language-server#requirements) 可在 [`nixpkgs`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/elm/default.nix)。 。 。 .

```sh
nix-env -i -A nixpkgs.elmPackages.elm-language-server
```

## 所需资源

您需要安装 `elm` 财务报告和审定财务报表 `elm-test` 获得所有诊断和 `elm-format` 用于格式化。 或者您也可以把这些安装到本地 npm `package.json`。 。 。 .

```sh
npm install -g elm elm-test elm-format
```

如果你想使用的话 `elm-review`数字 :

```sh
npm install -g elm-review
```

或者使用您的本地版本 `node_modules` 目录,如果想要这样做,您需要设置路径,通过设置(例如设置) `elmPath` 改为 `./node_modules/.bin/elm`) (中文(简体) ).

## 配置

我们以前有个档案 `elm-tooling.json` 在那里,你可以具体 `"entrypoints"`。 这已经不需要 — — 语言服务器自动找到切入点.

如果你拥有的一切 `elm-tooling.json` 曾经 `"entrypoints"`,您可以安全删除文件.

目前,根本不需要配置.

### 线性

榆林语言服务器内置支持林入. 看看这个 [文档](https://npmcn.com/package/%40elm-tooling/elm-language-server/docs/linting.md) 用于配置插件.

## 特征

支持榆树0.19和上

| 特性 | 说明 |
| --- | --- |
| 诊断 | 通过 `elm`, (中文(简体) ), `elm-test` 以及我们自己的推论 和linter |
| 格式化 | 通过 `elm-format` 并经过后处理后,仅返回变化的 diff。 这样,它不应该像运行那样侵入 `elm-format` 常规 |
| 代码 | 目前仅显示某类型别名、自定义类型或功能从该模块被曝光 |
| 完成数 | 显示当前文件的补全和片段 |
| 定义 | 允许您跳转到类型别名、模块、自定义类型或函数的定义 |
| 文档符号 | 识别文档中的所有符号. |
| 折叠 | 我们把精灵构造的代码叠起来 |
| 盘旋 | 显示类型别名、模块、自定义类型或函数的类型说明和文档 |
| 链接编辑 | 在类型注释名称被编辑时启用自动重命名函数名称, 或者反之亦然 |
| 参考文献 | 列出类型别名、模块、自定义类型或函数的所有引用 |
| 重命名 | 允许您重命名一个类型别名、模块、自定义类型或函数 |
| 工作空间符号 | 识别当前工作空间中的所有符号 |
| 选择区域 | 通过选择区域启用导航( 例如扩展选择) |

参数徘徊包括当客户端发布Markdown徘徊支持广告时与被推断类型声明的链接. 这包括函数、匿名函数和大小写参数。 分辨率偏好别名类型而不是其基本类型;未命名或未解决类型没有关联. 链接使用文档 URI 和 单基 `#L` 线条碎片,不包含编辑器特定命令。 客户端必须支持打开文档URI,而精确行导航依赖于客户端,因为LSP没有将这些碎片标准化.

虚拟榆树包文件使用 LSP 3. 18 `workspace/textDocumentContent` 当客户端发布支持广告时请求。 执行情况包括: [vscode-语言客户端 10](https://github.com/microsoft/vscode-languageserver-node/blob/main/client/src/common/textDocumentContent.ts), (中文(简体) ), [缩写](https://github.com/neoclide/coc.nvim/blob/master/src/language-client/textDocumentContent.ts),以及 [二级LSP 2.13](https://github.com/sublimelsp/LSP/blob/4070-2.13.0/docs/src/client_configuration.md)。不支持标准请求的榆树客户端可以继续使用 `elm/provideFileContents` 移民期间.

## 服务器设置

此服务器提供以下设置 :

-   `elmLS.trace.server`: 启用/无法跟踪记录客户端和服务器通信
-   `elmLS.elmPath`: 通往您的路径 `elm` 可执行文件 。 默认情况下应该是空的,在这种情况下它会假定名称并尝试先从本地npm安装或全局安装中获取. 如果您手动设置它, 它将不会尝试从 npm 文件夹中加载 .
-   `elmLS.elmReviewPath`: 通往您的路径 `elm-review` 可执行文件 。 默认情况下应该是空的,在这种情况下它会假定名称并尝试先从本地npm安装或全局安装中获取. 如果您手动设置它, 它将不会尝试从 npm 文件夹中加载 .
-   `elmLS.elmReviewDiagnostics`: 配置从精灵审查得到的衬里诊断. 可能的数值 : `off`, (中文(简体) ), `warning`, (中文(简体) ), `error`。 。 。 .
-   `elmLS.elmFormatPath`: 通往您的路径 `elm-format` 可执行文件 。 默认情况下应该是空的,在这种情况下它会假定名称并尝试先从本地npm安装或全局安装中获取. 如果您手动设置它, 它将不会尝试从 npm 文件夹中加载 .
-   `elmLS.elmTestPath`: 通往您的路径 `elm-test` 可执行文件 。 默认情况下应该是空的,在这种情况下它会假定名称并尝试先从本地npm安装或全局安装中获取. 如果您手动设置它, 它将不会尝试从 npm 文件夹中加载 .
-   `elmLS.disableElmLSDiagnostics`: 启用/ 禁用语言服务器的嵌入诊断 .
-   `elmLS.skipInstallPackageConfirmation`: 跳过安裝套件代码动作的确认.
-   `elmLS.onlyUpdateDiagnosticsOnSave`:仅更新保存上的编译器诊断,而不是文档更改.

设置可能需要重新启动才能应用 .

## 编辑器支持

| 编辑器 | 诊断 | 格式化 | 代码连线 | 完成情况 | 定义 | 文档符号 | 折叠 | 缓冲 | 链接编辑 | 参考资料 | 重命名 | 工作空间符号 |
| --- | --- | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
| [虚拟系统](https://github.com/elm-tooling/elm-language-server#vscode) | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : |
| [VIM 化学品](https://github.com/elm-tooling/elm-language-server#cocnvim) | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : x : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : |
| [VIM 语言库](https://github.com/elm-tooling/elm-language-server#languageClient) | : 重度 检查 标记 : | : 重度 检查 标记 : | : grey 问题 : | : 重度 检查 标记 : | : grey 问题 : | : grey 问题 : | : grey 问题 : | : grey 问题 : | : x : | : grey 问题 : | : grey 问题 : | : grey 问题 : |
| [维尔](https://github.com/elm-tooling/elm-language-server#ale) | : 重度 检查 标记 : | : x : | : x : | : grey 问题 : | : 重度 检查 标记 : | : x : | : x : | : 重度 检查 标记 : | : x : | : 重度 检查 标记 : | : x : | : 重度 检查 标记 : |
| [卡库内](https://github.com/elm-tooling/elm-language-server#kak-lsp) | : 重度 检查 标记 : | : 重度 检查 标记 : | : grey 问题 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : grey 问题 : | : 重度 检查 标记 : | : x : | : 重度 检查 标记 : | : 重度 检查 标记 : | : grey 问题 : |
| [埃马克斯](https://github.com/elm-tooling/elm-language-server#emacs) | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : grey 问题 : | : 重度 检查 标记 : | : x : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : |
| [高级](https://github.com/elm-tooling/elm-language-server#sublime) | : 重度 检查 标记 : | : 重度 检查 标记 : | : x : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : | : x : | : 重度 检查 标记 : | : 重度 检查 标记 : | : 重度 检查 标记 : |

### 虚拟系统

刚刚安装 [`elm-tooling/elm-language-client-vscode`](https://github.com/elm-tooling/elm-language-client-vscode) 来自该插件 [VSCode 市场定位](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)

要启用 VSCode 中的链接编辑,请使用设置 `"editor.linkedEditing": true`。 。 。 .

### 维姆

还有 [vim 的一般设置指令和 FAQ](https://github.com/elm-tooling/elm-vim)。 。 。 .

建议安装 [语法突出显示](https://github.com/andys8/vim-elm-syntax),也添加了所需的 [检测到精灵为 `filetype`](https://github.com/andys8/vim-elm-syntax/blob/d614325a037982489574012e4db04d7f8f134c17/ftdetect/elm.vim#L3)。可以在 [精灵- vim/ vim- 配置- 实例](https://github.com/elm-tooling/elm-vim/tree/main/vim-config-example)。 。 。 .

#### 缩写

启用支持方式 [缩写](https://github.com/neoclide/coc.nvim)运行 `:CocConfig` 并添加下面的语言服务器配置.

如果需要,可以设置路径 `elm`, (中文(简体) ), `elm-test`, (中文(简体) ), `elm-review` 财务报告和审定财务报表 `elm-format` 与 `elmPath`, (中文(简体) ), `elmTestPath`, (中文(简体) ), `elmReviewPath` 财务报告和审定财务报表 `elmFormatPath` 变量.

```jsonc
{
  "languageserver": {
    "elmLS": {
      "command": "elm-language-server",
      "filetypes": ["elm"],
      "rootPatterns": ["elm.json"]
    }
  },
  // If you use neovim you can enable codelenses with this
  "codeLens.enable": true
}
```

其中很多内容都包含在 [示例vim 配置](https://github.com/neoclide/coc.nvim#example-vim-configuration) 在Coc的读取器.

| 特性 | 怎样用 |
| --- | --- |
| 诊断 | `:CocList diagnostics`  
配置刷新为 `"diagnostic.refreshAfterSave": false` |
| 格式化 | `:call CocAction('format')` |
| 代码 | 需要尼欧维姆。 添加 `"coc.preferences.codeLens.enable": true` 给您的 `coc-settings.json` 结束 `:CocConfig` |
| 完成情况 | 默认情况下,见 [完成来源](https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources) 用于定制 |
| 定义 | 以 `<Plug>` 映射可以自己设定,例如.  
`nmap <silent> gd <Plug>(coc-definition)`  
`nmap <silent> gy <Plug>(coc-type-definition)` |
| 文档符号 | `:CocList outline` |
| 折叠 | 你必须 `set foldmethod=manual` 在你身边 `vimrc`一组Coc会用通常的命令处理折叠, `zc`, (中文(简体) ), `zo`类 |
| 缓冲 | `:call CocAction('doHover')` |
| 参考资料 | 提供情况 `<Plug>` 例如,测绘. `nmap <silent> gr <Plug>(coc-references)` |
| 重命名 | 提供情况 `<Plug>` 例如,测绘. `nmap <leader>rn <Plug>(coc-rename)` |
| 工作空间符号 | `:CocList symbols` |

#### 阿列尔

[阿列尔](https://github.com/dense-analysis/ale) 包含 `elm_ls` 点燃.

```
let g:ale_linters = { 'elm': ['elm_ls'] }
```

如果需要,可以设置路径 `elm`, (中文(简体) ), `elm-test`, (中文(简体) ), `elm-review` 财务报告和审定财务报表 `elm-format`。配置可以是 [在这里找到的](https://github.com/dense-analysis/ale/blob/master/doc/ale-elm.txt)

```
let g:ale_elm_ls_use_global = 1
let g:ale_elm_ls_executable = "/path/to/elm-language-server"
let g:ale_elm_ls_elm_path = "/path/to/elm"
let g:ale_elm_ls_elm_format_path = "/path/to/elm-format"
let g:ale_elm_ls_elm_test_path = "/path/to/elm-test"
```

| 特性 | 怎样用 |
| --- | --- |
| 诊断 | `:ALENext`编号 :`:ALEPrevious`  
配置刷新为 `let g:ale_lint_on_text_changed = 0`  
`let g:ale_lint_on_insert_leave = 1`  
`let g:ale_lint_on_save = 1` |
| 格式化 | ALE目前不通过语言服务器集成支持,但 `elm-format` 是一个支持的 ALE 修正器 |
| 代码 | 目前不支持 |
| 完成情况 | 默认情况下,见 `:h ale-completion` 需要更多信息 |
| 定义 | `:ALEGoToDefinition`, (中文(简体) ), `:ALEGoToTypeDefinition`,参见 `:h ale-go-to-definition` 财务报告和审定财务报表 `:h ale-go-to-type-definition` |
| 文档符号 | 目前只支持工作空间符号 |
| 折叠 | 目前不支持 |
| 缓冲 | `:ALEHover` |
| 参考资料 | `:ALEFindReferences` |
| 重命名 | 目前不支持 |
| 工作空间符号 | `:ALESymbolSearch <query>` |

#### 语言库

要使用此语言服务器 [语言库](https://github.com/autozimu/LanguageClient-neovim) 在您的 neavim/ vim 中添加以下配置.

```viml
let g:LanguageClient_serverCommands = {
  \ 'elm': ['elm-language-server'],
  \ }

let g:LanguageClient_rootMarkers = {
  \ 'elm': ['elm.json'],
  \ }
```

### 卡库内

#### kak - lsp (英语)

首先安装 [kak - lsp (英语)](https://github.com/ul/kak-lsp),并启用在kakrc。 一种方法是将这些行添加到您的. config/kak/kakrc文件中:

```sh
eval %sh{kak-lsp --kakoune -s $kak_session}
lsp-enable
```

然后,假设安装 `elm-language-server`, (中文(简体) ), `elm-format`,以及 `elm-test`,将本节添加到您的 `.config/kak-lsp/kak-lsp.toml` 文件 :

```toml
[language.elm]
filetypes = ["elm"]
roots = ["elm.json"]
command = "elm-language-server"
```

### 埃马克斯

语言客户端包含在 [isp 模式](https://github.com/emacs-lsp/lsp-mode),特别是 [这里](https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-elm.el)。具体参见 [本节](https://github.com/emacs-lsp/lsp-mode#use-package) 用于isp-mode的最小使用包配置.

#### Emacs 毁灭日

-   无注释 `lsp` 财务报告和审定财务报表 `elm` 在您的配置文件中 `.doom.d/init.el` 并添加 `+lsp` 榆树地层的特征旗:

```elisp
lsp
(elm +lsp)
```

-   可选配置 [isp 模式](https://github.com/emacs-lsp/lsp-mode) 财务报告和审定财务报表 [isp-ui-mode (英语)](https://github.com/emacs-lsp/lsp-ui)中添加此选项 `.doom.d/config.el`。 。 。 .

```elisp
(after! lsp-ui
  (setq lsp-ui-doc-max-width 100)
  (setq lsp-ui-doc-max-height 30)
  (setq lsp-ui-sideline-show-code-actions nil)
  (setq lsp-ui-doc-enable nil)
  (setq lsp-ui-doc-show-with-cursor nil)
  (setq lsp-ui-doc-show-with-mouse nil)
  (setq lsp-lens-enable nil)
  (setq lsp-enable-symbol-highlighting nil)
  )
```

您也可以启用或禁用更多特性 : [https://emacs-lsp.github.io/lsp-mode/tourals/how-to-turn-off 互联网档案馆的存檔,存档日期2013-12-21](https://emacs-lsp.github.io/lsp-mode/tutorials/how-to-turn-off)

-   运行 `~/.emacs.d/bin/doom sync`

| 特性 | 怎样用 |
| --- | --- |
| 诊断 | 默认 |
| 格式化 | 保存时 |
| 代码 | `lsp-lens-mode`, (中文(简体) ), `lsp-show-lens` |
| 完成情况 | 默认 |
| 定义 | `lsp-find-definition`, (中文(简体) ), `lsp-ui-peek-find-definitions` |
| 文档符号 | `lsp-ui-imenu` |
| 折叠 | `+fold/open`, (中文(简体) ), `+fold/close` |
| 缓冲 | `lsp-ui-sideline-mode`, (中文(简体) ), `lsp-ui-doc-mode`, (中文(简体) ), `lsp-ui-show-doc` |
| 参考资料 | `lsp-ui-peek-find-references`, (中文(简体) ), `lsp-find-references` |
| 重命名 | `lsp-rename` |
| 选择区域 | `lsp-extend-selection` |

### 高级

1.  安装 [榆树语法突出显示](https://packagecontrol.io/packages/Elm%20Syntax%20Highlighting), (中文(简体) ), [LSP 软件](https://packagecontrol.io/packages/LSP) 财务报告和审定财务报表 [LSP- 缩写](https://packagecontrol.io/packages/LSP-elm) 从软件包控制.
2.  复次亚细亚.

你现在应该可以使用来自Sublime的整合. 你也许想读一下 [提供的特点](https://lsp.readthedocs.io/en/latest/features/)

## 伟大的图书馆 这是基于

-   [数字格式](https://github.com/avh4/elm-format)
-   [精灵测试](https://github.com/rtfeldman/node-test-runner)
-   [护林树](https://github.com/Razzeee/tree-sitter-elm)
-   [精灵审查](https://github.com/jfmengels/elm-review)

## 捐款

请做( ) 一个语言服务器的最好之处是,多个客户端会以此方式改进.

## 常见问题

### @elm-tooling/elm-language-server 是什么？

在节点中执行精灵语言服务器\.

### 如何安装 @elm-tooling/elm-language-server？

在项目目录运行 npm install @elm-tooling/elm-language-server，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 elm-language-server，可以用 npx elm-language-server 直接运行。

### @elm-tooling/elm-language-server 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @elm-tooling/elm-language-server 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @elm-tooling/elm-language-server 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.17\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @elm-tooling/elm-language-server 可以商用吗？

@elm-tooling/elm-language-server 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @elm-tooling/elm-language-server 的下载量有多少？

根据 npm 官方下载统计，@elm-tooling/elm-language-server 在 2026/10/14 – 2026/11/12 这 30 天内被下载 4,863 次，日均约 162 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @elm-tooling/elm-language-server 还在维护吗？

最新版本 2\.10\.0 发布于 2026/10/02（1 个月前）；至今共发布 58 个版本，其中过去 12 个月发布了 1 个；首次发布于 2019/06/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

