linux - cabal-install 安装失败

标签 linux haskell cabal xmonad

我正在尝试安装 xmonad。所以首先,我使用以下命令安装 ghc 编译器:

zypper ar http://download.opensuse.org/repositories/devel:/languages:/haskell/openSUSE_12.1/devel:languages:haskell.repo  
zypper in ghc  

之后,我尝试使用以下命令安装 cabal-install-0.14.0:

wget http://hackage.haskell.org/packages/archive/cabal-install/0.14.0/cabal-install-0.14.0.tar.gz
tar zxfv cabal-install-0.10.2.tar.gz
cd cabal-install-0.10.2
sh bootstrap.sh  

但是当我运行最后一条命令时,出现错误:

Setup: The program hsc2hs is required but it could not be found

Error during cabal-install bootstrap:
Building the network package failed.  

显然,我需要 hsc2hs 程序,我可以在目录“/usr/lib/ghc-7.4.2/hsc2hs”中看到它,所以我将这个目录添加到 PATH 中。但它仍然不起作用。

有没有人可以给我一些建议?谢谢。

PS:我的操作系统是openSUSE 12.1

最佳答案

一些想法:

  1. 我相信有一个名为 haskell-platform 的 zypper 包。如果你安装它,它会为你安装和配置 cabal-install 和一些其他工具。它可能会为您解决 hs2sc 问题。

  2. 有 xmonad 的 zypper 包吗?如果是这样,我建议您使用它而不是尝试直接使用 cabal。

基本上可以通过三种主要方式在 Linux 上安装 Haskell。

选项 1(推荐给大多数用户):使用您的 Linux 发行版的包管理器来安装东西,而不是直接使用 cabal 命令。如果您想要的软件包在您的发行版中尚不可用,请提出请求。这种方法是最安全的,因为所有的依赖关系都已经为你整理好了。缺点是您通常不会拥有最新版本。您仍然可以对 开发的任何包使用cabal 命令。

选项 2:使用包管理器安装 ghc 和 haskell-platform,但之后使用 cabal 命令安装任何 haskell-y 东西。你仍然会使用你的包管理器来安装不能使用 cabal 安装的东西(例如,非 haskell 的东西)。如果你这样做,你可以通过从不以 root 身份运行 cabal(或者配置 cabal-install 以以 root 身份安装一切)来避免很多 cabal hell ,并且永远不要让你的包管理器做任何事情可以使用 cabal 来完成。这种方法的主要缺点是您可能必须自己处理一些库依赖项。

选项 3:手动安装 ghc(以及可选的 Haskell 平台),并使用 cabal-install(cabal 命令)安装您需要的所有其他东西。如果你真的想保持在一切的最前沿,并且你不介意手动安装东西,这是一个可行的选择。

关于linux - cabal-install 安装失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12024639/

相关文章:

haskell - 是否有默认的多态单元类型haskell

haskell - 多态性的等级和(非)预测性之间有什么关系?

haskell - 从 ghci session 中的子目录导入(从 yesod 中的测试导入模块)

haskell - Cabal:找不到可执行文件 test1 的 'Main-Is' 字段

linux - 在 Puppet 中获取机器的私有(private) ip

c - 串行设备 : Reading 8N1 works, 但写入单个字节失败

haskell - '@' 在 Haskell 中是什么意思?

haskell - 无法安装 Cabal-1.20.0.2

linux - 当系统用完进程表时检查当前目录列表?

ruby-on-rails - 不以 '/' 结尾的 Apache/Rails/Passenger 目录 URL 失败到 404