我正在尝试在Ubuntu 11.04上从零开始设置Haskell,而不使用过时的Debian存储库或Haskell平台。
我从源代码安装了GHC-7.0.4
没有问题,现在需要安装Cabal(似乎已经包含在/usr/local/lib/ghc-7.0.4/Cabal-1.10中的GHC中) .2.0)和Cabal Install
。
后者指定了几个依赖项(parsec
和network
),每个依赖项都有自己的几个依赖项(mtl
,text
等)。
安装这些软件包的命令是什么,我是以tar.gz格式从hackage下载的?
解包,然后runhaskell不起作用。
我看到了Setup.lhs,但目前尚不清楚它是什么或如何使用它。
我发现的大多数Haskell文档假设您已经从repo或Haskell-Package安装,并没有真正解释这一点。
答案 0 :(得分:11)
cabal-install
有一个执行此操作的shell脚本。如果您download it from hackage并安装它,则可以bootstrap.sh
开始安装cabal-install
。然后,您可以使用它来安装其他软件包。
答案 1 :(得分:5)
有两种不同的套餐:Cabal
和cabal-install
。 Cabal是一个库,cabal-install是一个名为cabal
的可执行文件。
要安装软件包,cabal-install
是Cabal的可选便利包装器,但需要使用Cabal。
根据http://hackage.haskell.org/trac/ghc/wiki/Commentary/Libraries,Cabal是一个零启动'包,所以当你构建GHC时,Cabal及其依赖项是自动构建的。
您可以使用ghc-pkg
可执行文件来检查已安装的软件包:
# ghc-pkg list
在构建GHC后检查Cabal是否在列表中。如果是,您可以使用此文档安装更多不使用cabal-install的软件包:
http://haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package
我建议您先安装cabal-install
,然后使用cabal-install
可执行文件安装其他所有内容。通常用于全局安装的命令是:
# runhaskell Setup configure
# runhaskell Setup build
# sudo runhaskell Setup install
解压缩包tarball并使用Setup.hs
或Setup.lhs
文件运行文件夹中的命令。请注意,还支持每用户非root用户安装 - 使用runhaskell Setup configure --user
以这种方式安装cabal可执行文件及其依赖项时,请使用cabal install {package-name}
安装更多软件包。
请注意,Haskell平台的存在主要是因为您自己安装cabal-install
的痛苦。