2

Haskell Plaftform 2013.2.0.0 安装后,cabal.exe 位于“C:\Program Files (x86)\HaskellPlatform\2013.2.0.0\lib\extralibs\”

执行“cabal install cabal-install”后,更新的 cabal.exe 文件位于“C:\Users\Alberto\AppData\Roaming\cabal\bin”

但是旧的 cabal.exe 仍然在 "..\extralibs" 中,所以它总是要执行的旧版本。

Alberto 的用户变量:PATH = C:\Users\Alberto\AppData\Roaming\cabal\bin

系统变量:路径 = C:\Program Files (x86)\Haskell\bin;C:\Program Files (x86)\Haskell Platform\2013.2.0.0\lib\extralibs\bin;C:\Program Files (x86)\Haskell Platform\2013.2.0.0\bin;C:\Program Files (x86)\PC Connectivity Solution\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1. 0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Haskell Platform\2013.2 .0.0\mingw\bin

我匆忙通过删除“..\extralibs”中的cabal.exe文件解决了这个问题,但我认为这不是最好的解决方案。

我什至在其他装有 Windows 操作系统(Vista、Windows 7、Windows 8)的计算机上也发现了这个问题

4

1 回答 1

1

您可以使用 "--bindir=" 选项指定安装 cabal 的位置。因此,如果您执行以下操作,它应该会找到它(您可能必须从管理命令提示符运行它):

cabal install --bindir="C:\Program Files (x86)\Haskell\bin" cabal-install

Haskell\bin 目录在我的安装中不存在(Windows 8 64 位上的 Haskell Platform 2014.2.0.0),但安装仍然将它放在路径的首位。所以我认为这是它期望 cabal 安装的地方。这样做将确保首先找到它。您可以使用where cabal. 它将列出路径上的所有 cabal,默认情况下使用第一个。

于 2014-09-21T01:28:30.610 回答