我正在尝试安装 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
最佳答案
一些想法:
我相信有一个名为 haskell-platform 的 zypper 包。如果你安装它,它会为你安装和配置
cabal-install
和一些其他工具。它可能会为您解决 hs2sc 问题。有 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/