我正在尝试在Ubuntu 11.04上从头开始设置Haskell,而不是使用过时的Debian存储库或Haskell平台。
我已经从源码安装了GHC-7.0.4,没有问题,现在需要安装Cabal (似乎已经包含在/usr/local/lib/ GHC -7.0.4/Cabal-1.10.2.0中的ghc中)和Cabal Install。
后者指定了几个依赖项(parsec和network),每个依赖项都有自己的几个依赖项(mtl、text等)。
安装这些软件包的命令是什么?这些软件包是我以tar.gz格式从hackage下载的。
解包,然后runhaskell就不能工作了。
我看到了Setup.lhs,但不清楚它是做什么用的,也不清楚如何使用它。
我找到的大多数Haskell文档都假设您是从repo或Haskell包安装的,并没有很好地解释这一点。
发布于 2011-11-17 19:44:20
cabal-install有一个外壳脚本可以做到这一点。如果您download it from hackage并安装它,您可以启动bootstrap.sh来安装cabal-install。然后,您可以使用它来安装其他包。
发布于 2011-11-17 18:47:52
有两个不同的包: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文件的文件夹中的命令。请注意,还支持按用户进行非根安装-使用runhaskell Setup configure --user
当您以这种方式安装cabal可执行文件及其依赖项时,请使用cabal install {package-name}安装更多的包。
请注意,Haskell平台的存在主要是因为自己安装cabal-install的痛苦。
https://stackoverflow.com/questions/8165789
复制相似问题