Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows上安装Haskell,cabal配置_Windows_Haskell_Cabal_Haskell Platform - Fatal编程技术网

在Windows上安装Haskell,cabal配置

在Windows上安装Haskell,cabal配置,windows,haskell,cabal,haskell-platform,Windows,Haskell,Cabal,Haskell Platform,我正在Windows上安装Haskell,根据第3步的说明,它说,修改您的cabal配置文件(您可以通过运行“cabal user config init”来验证位置),以包含以下行: extra-prog-path: C:\Program Files\Haskell Platform\8.0.2\msys\usr\bin extra-lib-dirs: C:\Program Files\Haskell Platform\8.0.2\mingw\lib extra-include-dirs: C

我正在Windows上安装Haskell,根据第3步的说明,它说,修改您的cabal配置文件(您可以通过运行“cabal user config init”来验证位置),以包含以下行:

extra-prog-path: C:\Program Files\Haskell Platform\8.0.2\msys\usr\bin
extra-lib-dirs: C:\Program Files\Haskell Platform\8.0.2\mingw\lib
extra-include-dirs: C:\Program Files\Haskell Platform\8.0.2\mingw\include
但是自动生成的配置文件包含

extra-prog-path: C:\Users\w\AppData\Roaming\cabal\bin
这是一个不同的变量值

这是故意的吗


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

您不需要覆盖现有行。您可以有多个
额外的程序路径
条目,它们都可以使用。

我有cabal安装版本2.4.1.0。按照中的建议,与中的安装说明相反,我使用了一行包含逗号分隔的路径列表的
extra prog path

额外程序路径:C:\Users\…\AppData\Roaming\cabal\bin,C:\Program Files\Haskell Platform\8.6.5\msys\usr\bin

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

C:\>cabal user-config diff
+ extra-include-dirs: C:\Program Files\Haskell Platform\8.6.5\mingw\include
+ extra-lib-dirs: C:\Program Files\Haskell Platform\8.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\8.6.5\msys\usr\bin
+ logs-dir: C:\Users\...\AppData\Roaming\cabal\logs

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

“我应该做什么”并不是一个真正的问题-只有您可以知道您的环境是什么样子,如果保留一条或另一条路径或两条路径是合适的(
extra prog path
可以是由逗号分隔的路径列表)。如果替换现有路径,或不替换现有路径,或同时包含现有路径,有什么不起作用?两个亚洲;在道路上留有空间可能会导致后续问题;你为什么不使用stack(这是下载页面上的第二个选项)?@user2407038我不知道这里适合什么,因为我不熟悉Haskell环境。我暂时不去管它,我正在尝试使用Stack(它似乎是自动安装的),因为Google search说它更好(是真的吗?
Stack install hfmt
已经更新包索引20分钟了;这应该会发生吗?但他们都不太熟悉您的环境-我不知道
C:\Users\w\AppData\Roaming\cabal\bin
目录的内容,甚至不知道它是否存在。是的,第一次获取包索引需要很长时间(我从来没有用过20分钟,但这当然取决于您的internet连接速度),但对于没有
堆栈的普通
阴谋集团
来说,这没有什么不同。为了确保一切顺利,您可以使用
-v
(详细)运行
stack
,它将打印下载进度。@user2407038好吧,这是从Haskell的干净安装开始的,所以不管干净安装会产生什么结果。好的,如果堆栈第一次获取包索引需要很长时间,那没问题,只是要确保它没有挂起或其他任何东西。谢谢相关问题: