windows的haskell开发环境
ghcup
ghcup 是一个用于管理 Haskell 工具链的命令行工具,它可以帮助你轻松安装、更新、切换 Haskell 编译器、GHC(Glasgow Haskell Compiler)版本以及其他相关工具,如 cabal 和 stack。通过 ghcup,你可以方便地管理和配置 Haskell 开发环境,确保不同项目使用不同的工具链版本。
非管理员运行powershell,若ghcup官网下载缓慢,使用镜像网站下载,如下
1 | env:BOOTSTRAP_HASKELL_YAML = 'https://mirrors.ustc.edu.cn/ghcup/ghcup-metadata/ghcup-0.0.6.yaml' |
执行安装脚本
1 | Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://mirrors.ustc.edu.cn/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $true |
安装完成后需要使用ghcup安装和更新软件,如stack等,添加中国镜像
在安装目录下修改配置文件D:\ghcup\config.yml
1 | url-source: |
stack
stack 是一个 Haskell 的构建工具,它简化了 Haskell 项目的构建、管理和部署过程。stack 提供了一些强大的功能,使得 Haskell 开发变得更加高效和容易。其核心功能包括依赖管理、项目构建、版本控制以及与 GHC(Glasgow Haskell Compiler)集成等。
使用ghcup安装/更新stack版本
1 | ghcup install stack |
新建项目
1 | stack new projectname |
新建项目需要下载resolver文件,所以需要代理,clash全局代理对控制台无效,虽然能够curl google.com,但是stack依旧不能走代理,所以添加了代理的环境变量
1 | env:HTTP_PROXY="http://127.0.0.1:7890" |
使用建议
如果是开发服务端程序建议在linux环境安装,可在windows的wsl子系统安装,因为访问数据库的一些so文件如果换环境还需要进行匹配。
如果是开发客户端程序那么可以使用windows进行开发,可配合msys2开发,更加方便。