Haskell 在 Windows 系统上的完整安装与配置指南
如果你是一位编程新手,或者刚开始接触函数式编程,想在 Windows 电脑上安装 Haskell 环境,那么你来对地方了。Haskell 是一门强大而优雅的编程语言,但在 Windows 上安装它,可能会让初学者感到有些困惑。别担心,这篇指南将用最清晰、最详细的方式,带你一步步完成安装和基础配置,让你轻松跨出 Haskell 编程的第一步。
一、安装前的准备:选择最适合你的工具
在 Windows 上安装 Haskell,主流且推荐的方法是使用 GHCup。它是一个集成的管理工具,可以让你轻松安装 Haskell 编译器(GHC)、构建工具(Cabal 或 Stack)以及语言服务器(HLS),并且方便后续的版本管理和更新。
为什么不推荐直接下载独立安装包?
因为直接安装的版本管理不便,后续升级或切换版本会很麻烦。GHCup 类似于 Python 的 pyenv 或 Node.js 的 nvm,是现在 Haskell 社区首选的安装方式。
你需要准备什么?
- 一台运行 Windows 10 或 Windows 11 的电脑。
- 稳定的网络连接(用于下载安装文件)。
- 大约 2-3 GB 的可用磁盘空间。
- 管理员权限(在安装过程中可能会需要)。
二、详细安装步骤(GHCup 方式)

请严格按照以下顺序操作,几乎可以避免所有常见问题。
步骤 1:安装 GHCup 本身
- 打开你的浏览器,访问 GHCup 的官方网站。
- 在首页,你会找到针对 Windows 系统的安装命令。通常,它会建议你打开系统自带的 PowerShell 程序。
- 在电脑左下角的搜索框输入
PowerShell,在搜索结果中,右键点击“Windows PowerShell”,然后选择 “以管理员身份运行”。这一点很重要,可以避免很多权限错误。 - 一个蓝底或黑底的命令行窗口会弹出。将官网提供的安装命令复制下来。这个命令通常长这样:
Set-ExecutionPolicy Bypass -Scope Process -Force; winget install --id GHCup.GHCup -e --accept-package-agreements --accept-source-agreements - 在 PowerShell 窗口中右键点击,即可粘贴命令,然后按下回车键。
- 安装程序会自动运行。过程中,它会询问你是否要将 GHCup 的路径添加到环境变量,一定要选择 【是】。这样你才能在任意位置使用 Haskell 命令。
- 安装完成后,它会提示你 关闭并重新打开 PowerShell 窗口。请务必照做,这样新的环境变量才会生效。
步骤 2:通过 GHCup 安装 Haskell 核心组件
- 重新以管理员身份打开一个新的 PowerShell 窗口。
- 输入以下命令并回车,开始安装 Haskell 的“全家桶”:
ghcup install - 这时,GHCup 会进入一个交互式安装向导,它会问你几个问题:
- 是否安装 Haskell 编译器 (GHC)? 输入
Y并按回车。 - 是否安装 Haskell 构建工具 (Cabal)? 输入
Y并按回车。 - 是否安装 Stack 工具? 对于新手,我建议也输入
Y并按回车。Stack 是另一个流行的项目管理工具,可以让你更简单地处理第三方代码库。 - 是否安装 Haskell 语言服务器 (HLS)? 输入
Y并按回车。这个工具能让你在 VS Code 等编辑器里获得智能代码提示、错误检查等功能,极大提升编程体验。
- 是否安装 Haskell 编译器 (GHC)? 输入
- 接下来,它会让你选择要安装的 GHC 版本。对于初学者,直接选择它推荐的 最新稳定版 即可。通常输入它前面标注的数字(比如
1)然后回车。 - 然后,安装就正式开始了。你会看到屏幕上有大量的下载和安装信息滚动。这个过程需要一些时间,具体取决于你的网速,请耐心等待。中途不需要任何操作。
步骤 3:验证安装是否成功
当所有下载和安装进度都达到 100% 后,我们需要检查一下是否一切就绪。
在同一个 PowerShell 窗口中,依次输入以下三个命令,每个命令输入后按回车:
-
检查 GHC(编译器)版本:
ghc --version如果安装成功,它会显示类似
The Glorious Glasgow Haskell Compilation System, version 9.6.3的信息。 -
检查 Cabal(构建工具)版本:
cabal --version它会显示 Cabal 的版本号。
-
检查 Stack(项目管理工具)版本:
stack --version它会显示 Stack 的版本号。
如果这三个命令都正确输出了版本信息,那么恭喜你,Haskell 的核心环境已经成功安装在你的电脑上了!
三、配置你的第一个开发环境
仅仅安装好工具链还不够,我们需要一个舒服的写代码的地方。这里推荐使用 Visual Studio Code (VS Code),因为它免费、轻量且插件丰富。
步骤 1:安装 VS Code 和 Haskell 插件
- 如果你还没有 VS Code,去它的官网下载安装。
- 打开 VS Code,点击左侧活动栏的“扩展”图标(或按
Ctrl+Shift+X)。 - 在搜索框中输入
Haskell。 - 找到名为 “Haskell” 的插件,作者是
Haskell.org。点击“安装”按钮。
这个插件会自动识别你通过 GHCup 安装的 HLS,并提供语法高亮、代码补全、类型提示、错误波浪线等强大功能。
步骤 2:创建并运行你的第一个 Haskell 程序
让我们用最传统的方式向新世界问好。
- 在桌面或任意位置,新建一个文件夹,命名为
learn-haskell。 - 用 VS Code 打开这个文件夹(文件 -> 打开文件夹)。
- 在 VS Code 左侧的资源管理器区域,右键点击,选择“新建文件”,将文件命名为
hello.hs。注意后缀.hs是 Haskell 源代码文件的标志。 - 在
hello.hs文件中,输入以下代码:main = putStrLn "Hello, Windows! 我的Haskell安装成功了!" - 保存文件(
Ctrl+S)。 - 打开终端:在 VS Code 顶部菜单选择“终端(Terminal) -> 新建终端(New Terminal)”。终端面板会在下方打开。
- 在终端中,使用 GHC 编译器来编译并运行你的程序:
ghc hello.hs这条命令会生成一个可执行文件
hello.exe。 - 接着,运行这个可执行文件:
.\hello.exe - 你应该会在终端里看到输出:
Hello, Windows! 我的Haskell安装成功了!
成功了! 你已经完成了在 Windows 上从零到一的 Haskell 环境搭建,并运行了第一个程序。
四、常见问题与故障排除
-
问题:在 PowerShell 中运行
ghc或cabal命令,提示“不是可识别的命令”。 解决: 这通常是环境变量没有生效。请尝试:- 完全关闭所有 PowerShell 和 VS Code 窗口,重新打开。
- 如果还不行,在 PowerShell 中手动刷新环境变量:
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User"),然后重试。 - 最根本的检查:在 PowerShell 中输入
ghcup --version。如果这个命令有效,但ghc无效,可能是 GHC 安装有问题,可以尝试用ghcup install ghc重新安装。
-
问题:安装过程下载速度极慢或失败。 解决: GHCup 的服务器可能在国外。你可以:
- 尝试在夜间或网络状况较好的时候安装。
- 如果使用 Stack,它有自己的镜像配置。但对于 GHCup 本身,目前主要依赖网络自动重试。耐心多试几次。
-
问题:VS Code 的 Haskell 插件报错,提示找不到语言服务器。 解决: 确保你通过 GHCup 安装了 HLS(在之前的步骤中我们选择了安装)。然后在 VS Code 中,按下
Ctrl+Shift+P打开命令面板,输入Haskell: Restart Haskell LSP Server并执行,重启语言服务器。
五、下一步学习建议
环境搭好只是开始,接下来你可以:
- 学习基础语法: 推荐在线教程《Learn You a Haskell for Great Good!》(有中文译本《趣学Haskell》),或者网站上的 Haskell 入门课程。
- 使用 Cabal 管理项目: 在项目文件夹中运行
cabal init可以创建一个标准的 Haskell 项目结构,用cabal build构建,cabal run运行。 - 探索 Stack: 对于需要用到很多第三方库的项目,
stack new my-project创建一个新项目模板会更方便。
希望这篇详尽的指南能帮助你顺利启航 Haskell 之旅。编程世界的新大门已经打开,享受函数式编程带来的独特乐趣吧!如果在后续学习中遇到更具体的问题,随时可以带着错误信息来寻找更深入的解决方案。

还没有评论,来说两句吧...