繁体   English   中英

如何在没有Cabal或Cabal-Install的情况下安装软件包/库?

[英]How do you install packages/libraries without Cabal or Cabal-Install?

我试图在Ubuntu 11.04上从零开始设置Haskell,而不使用过时的Debian存储库或Haskell-Platform。

我从源代码安装GHC-7.0.4没有问题,现在需要安装Cabal(似乎已经包含在GHC的/usr/local/lib/ghc-7.0.4/Cabal-1.10.2.0中)和Cabal Install

后者指定了几个依赖项( parsecnetwork ),每个依赖项都有自己的几个依赖项( mtltext等)。

安装这些软件包的命令是什么,我是用tar.gz格式从hackage下载的?

解包,然后runhaskell不起作用。

我看到了Setup.lhs,但目前尚不清楚它是什么或如何使用它。

我发现的大多数Haskell文档假设您已经从repo或Haskell-Package安装,并没有真正解释这一点。

cabal-install有一个shell脚本来执行此操作。 如果从hackage下载并安装它,可以启动bootstrap.sh来安装cabal-install 然后,您可以使用它来安装其他软件包。

有两种不同的包: Cabalcabal-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.hsSetup.lhs文件运行该文件夹中的命令。 请注意,还支持每用户非root用户安装 - 使用runhaskell Setup configure --user

以这种方式安装cabal可执行文件及其依赖项时,请使用cabal install {package-name}来安装更多软件包。

请注意,Haskell平台的存在主要是因为您自己安装cabal-install的痛苦。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM