在 Windows 上安装 Haskell,cabal 配置

Installing Haskell on Windows, cabal config

我正在根据 https://www.haskell.org/platform/ 上的说明在 Windows 上安装 Haskell 并查看第 3 步,它说,修改您的 cabal 配置文件(您可以验证位置通过 运行 "cabal user-config init") 包含以下行:

extra-prog-path: C:\Program Files\Haskell Platform.0.2\msys\usr\bin
extra-lib-dirs: C:\Program Files\Haskell Platform.0.2\mingw\lib
extra-include-dirs: C:\Program Files\Haskell Platform.0.2\mingw\include

但是自动生成的配置文件包含例如

extra-prog-path: C:\Users\w\AppData\Roaming\cabal\bin

所以这是建议变量之一的不同值。

这是故意的吗?

我该怎么办,将第 3 步中的行粘贴到文件开头、文件末尾、覆盖现有行或完全跳过第 3 步?

您不需要覆盖现有行。您可以有多个 extra-prog-path 条目,它们都会被使用。

我有 cabal-install 版本 2.4.1.0。正如 https://www.haskell.org/cabal/users-guide/nix-local-build.html and contrary to the installing instructions at https://www.haskell.org/platform/windows.html 中所建议的那样,我使用了一个包含逗号分隔的路径列表的 extra-prog-path 行:

extra-prog-path: C:\Users\...\AppData\Roaming\cabal\bin,C:\Program Files\Haskell Platform.6.5\msys\usr\bin

原因:像这样,至少命令cabal user-config diff给出了合理的结果。

C:\>cabal user-config diff
+ extra-include-dirs: C:\Program Files\Haskell Platform.6.5\mingw\include
+ extra-lib-dirs: C:\Program Files\Haskell Platform.6.5\mingw\lib
- extra-prog-path: C:\Users\...\AppData\Roaming\cabal\bin
+ extra-prog-path: C:\Users\...\Roaming\cabal\bin,C:\Program Files\Haskell Platform.6.5\msys\usr\bin
+ logs-dir: C:\Users\...\AppData\Roaming\cabal\logs

如果我按照安装说明使用两行 extra-prog-path,那么 cabal user-config diff 将忽略第二行。但是我不确定这是否重要。