我已经阅读了 agda-stdlib 项目中的 .travis.yml
,虽然它与纯粹用 Agda 编写的简单库(没有那些 Haskell 代码和 Shell 脚本)非常不同和复杂。
我对 stdlib 的 .tarvis.yml
感到困惑。我已经通过 cabal install
安装了 agda,但是 stdlib 试图在 Travis CI 上克隆和编译 Agda,并且有很多命令似乎无法构建它。
此外,agda-stdlib 似乎在 Ubuntu 的源代码中可用。这可能是安装它的第三种方法。
此外,stdlib 没有依赖项,但我有。我也不知道如何添加依赖项。
我的问题的结论:
最佳答案
标准库有点特殊:它与 Agda 的开发版本同步发展。因此,通常情况下,它无法使用您选择的发行版中现成的 Agda 版本进行编译(例如,因为它使用了事先不可用的语法!)并且它被迫从 github 中提取最新版本。
安装 Agda
如果您的库与分布式版本兼容,那么您只需通过 apt-get install agda
从存储库中提取它就会简单得多。
另外,Scott Fleischman 有一个关于如何使用 docker 镜像来检查你的开发的基本示例:https://github.com/scott-fleischman/agda-travis
安装您的依赖项
如果您的项目依赖于依赖项,那么您确实需要安装它们。在实践中,这可能意味着通过 wget
获取一堆 tarball,并让 ~/.agda/libraries
指向它们的库文件。
参见the manual on library management