我正在尝试安装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
答案 0 :(得分: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完成。这种方法的主要缺点是您可能必须自己处理一些库依赖项。
选项3:手动安装ghc(以及可选的Haskell平台),并使用cabal-install(cabal
命令)安装您需要的所有其他内容。如果你真的想要保持一切的前沿,并且你不介意手动安装东西,这是一个可行的选择。