如何创建 Cabal 沙盒

How to create a Cabal Sandbox

我想为 Haskell 的教程程序构建一个环境,因为我想尝试学习这门语言。所以我读到了 Cabal 并且已经在我的机器上安装了它,因为我有时会更新 pandoc。我遵循了一些 tutorials,其中指出你应该 运行:

$ cabal sandbox init
$ cabal install --only-dependencies
$ cabal build

设置环境。但是,如果我尝试这样做,我会收到以下消息:

$ cabal sandbox init
Writing a default package environment file to
/home/xiaolong/development/Haskell/cabal.sandbox.config
Using an existing sandbox located at
/home/xiaolong/development/Haskell/.cabal-sandbox

ls 命令的输出)

$ ls
cabal.sandbox.config

然后:

$ cabal install --only-dependencies
cabal: Error reading local package.
Couldn't find .cabal file in: .

嗯?突然需要一个.cabal文件?这让我感到困惑。我需要采取什么步骤来获得一个环境,我可以在其中简单地安装软件包,然后使用该环境来 运行 我选择的任何教程的代码?

This 是另一个建议描述的工作流程的教程。有什么我想念的。

(我的印象是,cabal 沙箱与 python virtualenvs 相当,在某种程度上很有用,不需要在系统范围内安装软件包,而是可以将它们安装在一个目录,然后将该环境用于 运行 程序。)

你需要在里面有一个 cabal 文件,它描述了你的项目名称、包依赖、许可证等。一个 cabal 文件可以使用 cabal init 生成,后面跟着一系列你必须回答的问题.

创建初始 cabal 配置文件后,您可以进入包目录并使用上述命令在其中创建沙箱。

您可能还对 Stack 感兴趣,这是另一个用于开发 Haskell 项目的替代工具(更好,如果您问我 :))。