GF徽标

GF开发人员指南:Cabal的旧安装说明

本页包含来自开发人员指南。我们建议将Stack作为主要的安装方法,因为它对Haskell初学者来说更容易,并且我们希望主说明简短。但是,如果你是一个经验丰富的哈斯克勒,并且想继续使用Cabal,以下是使用电缆安装.

请注意,其中一些说明可能已过时。其他部分可能仍然有用。

使用Cabal从源代码编译

GF的构建系统基于卡瓦尔,它是Haskell Platform的一部分,所以安装它不需要额外的步骤。在最简单的情况下,在如上所述下载源代码后,编译和安装GF所需做的全部工作是

$cabal安装

这将自动下载构建GF所需的任何其他Haskell库。如果这是您第一次使用Cabal,您可能需要运行阴谋集团更新首先,更新可用库的列表。

如果你想要更多的控制,这个过程也可以分为通常的配置,建造安装步骤。

配置

在配置阶段,Cabal将检查您是否拥有GF所需的所有必要工具和库。配置通过以下命令启动:

$cabal配置

如果您没有从上述命令中看到任何错误消息,那么您就拥有了GF所需的一切-v(v)以查看有关配置的更多详细信息。

你可以使用电缆配置--帮助以获取配置选项列表。

生成

构建阶段做两件事。首先,它从Haskell源代码构建GF编译器,然后使用已经构建的编译器构建GF资源语法库。最简单的命令是:

$cabal构建

您可以再次添加选项-v(v)如果你想了解更多细节。

并行生成

如果Cabal>=1.20,则可以使用

$cabal构建-j

或者放一条线

作业:$ncpus

在您的.cabal/config文件。如果您的GHC>=7.8,Cabal将在构建GF编译器时将此选项传递给GHC。

Cabal也通过-j个到GF以启用资源语法库的并行编译。这是无条件的,以避免给Cabal<1.20的开发人员带来问题。您可以通过编辑中的最后几行来禁用此功能网站设置.hs.

安装

编译完GF后,需要安装可执行文件和库以使系统可用。

$cabal副本$cabal寄存器

此命令在Cabal使用的标准位置为单个用户安装GF编译器。在Linux和Mac上,这可能是$HOME/.cabal/bin在Mac上也可以$HOME/Library/Haskell/bin。在Windows上,这是C: \程序文件\Haskell\bin.

编译后的GF资源语法库将安装在相同的前缀下,例如$HOME/.cabal/share/gf-3.3.3/lib在Linux和中C: \程序文件\Haskell\gf-3.3.3\lib在Windows上。

如果要在其他位置安装,请使用--前缀选项。

清洁

有时您希望清理编译并从干净的源代码重新开始。为此,请使用clean命令:

$cabal干净

Cabal的已知问题

Cabal的某些版本(至少1.16版)似乎存在可能导致以下错误的错误:

正在配置gf-3.x。。。setup:Distribution/Simple/PackageIndex.hs:124:8-13:断言失败

此问题的确切原因尚不清楚,但如果已经安装了相同版本的GF,则似乎会在配置阶段发生,因此解决方法是使用

ghc-pkg未注册gf

您可以与联系ghc-pkg列表gf它不见了。

使用make编译

如果你觉得Makefile更舒服,那么在Cabal附近有一个薄薄的Makefile包装器。如果您只是键入:

$制造

如果需要,配置阶段将自动运行,然后将编译源代码。

安装使用:

$make安装

用于清洁:

$清理

RGL的部分构建

注释:以下内容不适用于的最新版本阴谋集团.(这条评论是在2015年留下的,所以请做出自己的结论。)

资源语法库可以用两种模式编译:只使用现在时态和使用所有时态。默认情况下,它使用所有时态进行编译。如果你想只使用现在时态的库,你可以用以下命令在这种特殊模式下编译它:

存在$cabal构建

您还可以通过添加选项来控制要重新编译的语言langs=列表例如,以下命令将只编译英语和瑞典语:

$cabal-build-langs=工程、瑞典