「Cabal」- 仓库、包管理

Cable,用于构建和打包 Haskell 库和程序的一个系统。Cabal 类似于 Perl 的 cpanPython 的 pypiRuby 的 gem

Cabal 的特征

自动安装 GHC,安装在隔离的位置;
安装项目需要的包;
构建项目
测试项目
对项目进行基准测试

如何安装 Cabal 中的包

安装 Cabal 中的包有两种方式:

  • 手动安装
  • 使用 Cabal-Install 安装;

有关 Cabal 包的安装详细内容可参见官方文档

方式一:使用手动安装

# 1. 进入下载的 Cabal 包中;

# 2. 配置、构建、安装
runhaskell Setup configure
runhaskell Setup build
runhaskell Setup install

# Note: runhaskell 命令属于 GHC。所以要先安装 GHC;

方式二:使用 Cabal-Install 安装

  1. 安装 Cabal-Install 包,此时会安装 cabal 命令
  2. 使用 cabal 命令来安装软件包。cabal 的使用方法,可查看官方手册

Cabal Install

Cabal-Install 包提供了 cabal 命令,通过对 Haskell 库和程序的获取、配置、编译、安装进行自动化处理,简化了 Haskell 软件的管理过程。这些包装必须使用 Cabal 进行准备,并应存在于Hackage中;

首先,Cabal library 安装
Cabal-Install 依赖于 Cabal library,所以样先安装 Cabal library;
下载 Cabal library,然后进行手动安装:

#!/bin/sh

# 1. 进入下载的 Cabal library 中;

# 2. 配置、构建、安装
runhaskell Setup configure --prefix=/usr/local
runhaskell Setup build
runhaskell Setup install

# Note: runhaskell 命令属于 GHC。所以要先安装 GHC;

然后,安装 Cabal-Install
下载 Cabal-Install,进入源码目录中,有个 bootstrap.sh 脚本,使用./bootstrap.sh 进行安装:

#!/bin/sh

./bootstrap.sh --sandbox /usr/local

# 查看帮助可以使用:
# ./bootstrap.sh --help

升级 Cabal-Install

#!/bin/sh

cabal install cabal cabal-install

cabel 命令语法及选项

官方文档中已有详细的描述,可查看文档中关于 cabal 命令的使用方法;

参考文献

Cable Homepage