如何创建 Cabal 沙盒

Zel*_*ahl 6 haskell sandbox virtualenv cabal

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

$ cabal sandbox init
$ cabal install --only-dependencies
$ cabal build
Run Code Online (Sandbox Code Playgroud)

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

$ 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
Run Code Online (Sandbox Code Playgroud)

(ls命令输出)

$ ls
cabal.sandbox.config
Run Code Online (Sandbox Code Playgroud)

进而:

$ cabal install --only-dependencies
cabal: Error reading local package.
Couldn't find .cabal file in: .
Run Code Online (Sandbox Code Playgroud)

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

这是另一个建议所描述的工作流程的教程。有什么我失踪了。

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

Sib*_*ibi 4

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

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

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