Haskell Language Server 安装指南:从入门到精通
前言
Haskell Language Server (HLS) 是 Haskell 生态中重要的开发工具,它为现代代码编辑器提供了强大的语言服务支持,包括代码补全、类型检查、重构等功能。本文将全面介绍 HLS 的各种安装方式,帮助开发者选择最适合自己环境的安装方案。
安装前准备
在安装 HLS 前,需要确保系统满足以下基础要求:
- GHC 编译器:处理独立 Haskell 文件(.hs/.lhs)必须安装 GHC 并配置到系统 PATH 中
- Cabal 工具:对于基于 Cabal 的项目,需要同时安装 cabal-install
- 系统依赖:
- Linux 需要安装 Unicode(ICU)、NCURSES 和 Zlib 开发库
- Windows 需要注意长路径问题
推荐安装方式:ghcup
对于大多数用户,我们推荐使用 ghcup 工具管理 Haskell 工具链:
ghcup install hls
ghcup 会自动处理以下事项:
- 下载预编译的 HLS 二进制文件
- 安装到正确的位置
- 管理多个 GHC 版本对应的 HLS
如果需要从源码编译特定版本:
ghcup compile hls -v $HLS_VERSION --ghc $GHC_VERSION
各平台专属安装方案
Windows 平台
-
Chocolatey 安装:
choco install haskell-language-server -
长路径问题解决方案:
- 将仓库克隆到短路径如 C:\hls
- 或启用系统长路径支持
macOS 平台
使用 Homebrew 安装:
brew install haskell-language-server
Linux 发行版
不同发行版有各自的包管理方案:
Arch Linux:
yay -S haskell-language-server-static
Fedora:
sudo dnf copr enable petersen/haskell-language-server
sudo dnf install haskell-language-server
Debian/Ubuntu:
sudo apt install libicu-dev libncurses-dev libgmp-dev zlib1g-dev
Gentoo:
emerge -av dev-util/haskell-language-server
FreeBSD:
pkg install hs-haskell-language-server
源码编译安装
虽然可以从源码编译安装,但不推荐普通用户使用:
git clone <仓库地址>
cd haskell-language-server
cabal install exe:haskell-language-server
注意:
- 编译的二进制仅适用于相同 GHC 版本的项目
- 需要完整的开发环境
编辑器集成
Visual Studio Code
安装 Haskell 扩展后,VSCode 会自动:
- 下载适合的 HLS 版本
- 配置语言服务器
- 管理更新
预编译二进制
可从发布页面下载对应平台的:
- haskell-language-server-wrapper
- 各 GHC 版本对应的 haskell-language-server
只需将这些可执行文件放入 PATH 或配置编辑器指向它们。
安装建议
- 新手用户:优先使用 ghcup 或编辑器自动安装
- 特定需求:选择对应发行版的包管理
- 开发调试:考虑源码编译
- 多版本管理:利用 wrapper 自动选择
常见问题解决
- 找不到命令:检查 PATH 是否包含 cabal/bin 目录
- Windows 长路径:按前文方法启用支持
- 依赖缺失:根据系统安装对应开发库
- 版本冲突:确保 HLS 与项目 GHC 版本匹配
通过本文介绍的各种安装方式,开发者可以根据自身环境选择最适合的 HLS 安装方案,享受 Haskell 开发的现代化体验。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



