4

我正在尝试安装 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

4

1 回答 1

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 的东西)。如果你这样做,你可以避免很多 cabal 地狱,永远不要以 root 身份运行 cabal(或者,配置 cabal-install 以以 root 身份安装所有东西),并且永远不要让你的包管理器做任何可以使用 cabal 完成的事情。这种方法的主要缺点是您可能必须自己处理一些库依赖项。

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

于 2013-06-07T20:23:18.400 回答