本页包含来自开发人员指南。我们建议将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=工程、瑞典