有没有简单的方法可以在现有的 msys2 安装中安装 haskell / cabal / stack?我找不到。
注意:显然可以使用 MinGHC 同时安装两者,请参阅这里。
答案1
这是我使用的策略。
笔记
不再推荐使用 Haskell 平台安装 Haskell。现在访问 Haskell 主页查看推荐的 Haskell 安装方法。
过程
- 下载 Core x64 版本Haskell 平台。
- 将所有文件提取到临时位置。这是安装程序中的一个选项
- 我取消了“启动 Stack 的安装程序”的勾选,以避免出现问题。我以前从未使用过 Stack,我不想在尝试安装的同时学习它
将 bin、lib、man、mingw 和 msys 文件夹从临时文件夹复制到我当前的 msys2 安装中。bin、lib 和 man 文件夹包含 Haskell 平台和编译器工具链;mingw 文件夹包含 gcc 编译器工具链。
$ cp -av /c/tmp/Haskell\ Platform/8.4.3/{bin,lib,man,mingw,msys} /usr/local/
根据 Unix 惯例,/usr/local
指定用于由本地管理员(即您)而不是系统(即pacman
本例中的包管理器)管理的安装。如果 Haskell 在某个时候可用pacman
,我的安装将不会与新安装冲突,除非在 PATH 上。
- 使用 my添加
/usr/local/lib/extralibs/bin
到 PATH 。这是和其他一些常见第三方工具.bashrc
的位置。cabal
结果
$ cabal update
成功了。然而,这是我很长时间以来第一次回到 Haskell,也是我第一次使用新的本地构建cabal 的功能,因此在确定 MSYS 设置正常运行之前,我需要进行大量的反复试验。
答案2
(我不能保证这会有效)
(我敢保证这不会起作用)
下载包含适用于 Windows 的堆栈的 .zip 文件。请参阅本文档页面。
要与 msys2 一起使用它,请将其复制到/usr/bin
。
要与 mingw 一起使用,请将 stack.exe 复制到/mingw64/bin
(/mingw32/bin
如果使用 32 位系统,则复制到)
$ stack
现在应该可用了。它允许您使用 haskell。
您可能想要运行stack install cabal-install
。此安装对我来说不起作用,我不得不使用文件资源管理器手动复制 cabal.exe。
我找到了$ stack install Stack
并且$ stack install Cabal
什么也不做。