如何在Windows 7中正确安装Cabal 1.18.02?

3
我正在尝试在Windows 7中安装新的Cabal。它成功地安装了1.18.02,但是当我运行"cabal --version"时,它显示的是1.16。文件夹C:\Users\me\AppData\Roaming\cabal\bin在我的PATH路径前面。
当我直接运行1.18可执行文件时,我得到了一堆"cabal.exe不存在"的错误。
我该如何配置Cabal默认使用1.18版本?

具体的错误是什么?1.18可执行文件在哪里? - Daniel Wagner
1
问题在于Windows在搜索可执行文件时,总是优先考虑计算机的“Path”环境变量,而不是用户帐户的“Path”环境变量。 - Michael Steele
3个回答

9
由于haskell平台安装cabal.exe的方式,导致路径冲突。
可以在这个链接中看到相关信息。
解决方法如下:
Delete `C:/program files(x86)/Haskell platform/lib/extralibs/bin/cabal.exe.`

无论如何,您可以使用搜索工具来查找需要删除的 cabal.exe 文件。

1
我使用cabal-dev在一个沙盒中安装了cabal 1.18,使得C:\cabal-dev\cabal-dev\bin包含最新的(1.18)cabal可执行文件。然后,我将C:\Cabal-dev\cabal-dev\bin设置为“系统变量”中“Path”变量的第一个值(而不是“用户变量”中的“PATH”变量)。这对我有用,并允许我保留旧版本的cabal构建(以防以后需要)。祝好运。以下是我的确切步骤:
  1. 安装 cabal-dev
    1. 在任意位置打开命令提示符
    2. 执行以下命令: “cabal install cabal-dev”
  2. 安装新的 cabal
    1. 创建目录:c:\cabal-dev,cd 进入该目录
    2. 执行以下命令:“cabal-dev install cabal-install”
  3. 将新的、升级后的 cabal 路径设置为更高优先级
    1. 关闭所有打开的命令提示符
    2. 运行:Sysdm.cpl
    3. 进入“高级”选项卡
    4. 点击“环境变量”
    5. 选择“系统变量”(下方)窗口中列出的“Path”变量
    6. 点击编辑
    7. 在变量值的开头添加以下字符串:“C:\Cabal-dev\cabal-dev\bin;”
    8. 确定,确定,确定
    9. 确保正在运行最新的 cabal:
      1. 打开命令提示符(除了 c:\cabal-dev\ * 以外的任何地方)
      2. 执行以下命令:“cabal –V”
      3. cabal 版本应为 1.18.0.2

0

除了在另一个回答中描述的在 extralibs 中的 cabal 问题之外,此错误的另一个可能原因是您路径中的 ld 无法读取 GHC 生成的 .o 文件。

我在使用 GHC 7.8.1 RC1 时遇到了这个问题,并且通过使用 -v3 运行 cabal install 可以看到这种错误。我的路径中的 'ld' 来自于 Haskell Platform 2013.2.0.0。

将新 GHC 目录中的 mingw \ bin 添加到路径中可以解决该问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接