cabal-install无法保留happy的版本号

19

我一直在尝试执行cabal install hoogle,但是和haskell-src-exts-1.13.5的依赖关系出了点问题:

Configuring haskell-src-exts-1.13.5...
setup: The program happy version >=1.17 is required but it could not be found.

当我尝试执行cabal install happy时,它似乎成功完成,但是cabal-install没有保留版本:

>$ cabal list happy
* happy
    Synopsis: Happy is a parser generator for Haskell
    Default available version: 1.18.10
    Installed versions: [ Unknown ]
    Homepage: http://www.haskell.org/happy/
    License:  BSD3

如你所见,版本为[ Unknown ]。它始终未知,如果我再次尝试运行cabal install happy,cabal-install 仍然毫不知情。

是什么原因呢?

提前感谢!


对于happy是一个程序名称这一点并不明显。 - Hi-Angel
1个回答

37

看起来 cabal 没有显示可执行文件的已安装版本,只显示库的版本。

也许 cabal 会将 happy 安装在你的家目录中的某个地方,例如在 $HOME/.cabal/bin 中,而它没有在你的 PATH 中。 cabal install happy 会在一些最后的行中显示这个路径。因此,您可以将此路径添加到您的 PATH 中,然后再尝试安装 haskell-src-exts


3
谢谢!将$HOME/.cabal/bin加入路径是解决问题的关键,因为cabal会将可执行文件放在该目录中。 - Alexander Kondratskiy
1
谢谢!在我的Mac上,happy被放置在$HOME/Library/Haskell/bin中,如果对任何人有帮助的话。我也很困惑为什么cabal在安装后没有正确列出它。 - jsdw
在 MinGHC 上,这意味着将 C:\Users\xxx\AppData\Roaming\cabal\bin 放在 MinGHC bin 之前加入我的路径,以便使用最新版本的 cabal、happy 和 alex。 - sumo

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