haskell - 如何创建 Cabal 沙盒

标签 haskell virtualenv sandbox cabal

我想为 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 init 生成 cabal 文件,后面跟着您提出的一系列问题来回答。

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

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

关于haskell - 如何创建 Cabal 沙盒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34970578/

相关文章:

java - 如何沙盒类?

Haskell 长度和滤波器确定直线的凸度或凹度

haskell - Haskell 类型类 'Real' 是用词不当吗?

python - setup.py install 使用 virtualenv 进行开发 - 安装目录或 PYTHONPATH 错误

python - 使用Flask框架是否需要使用virtualenv?

ios - Apple 推送通知服务 SSL(沙盒和生产)-我做错了什么?

haskell - 一种易于进行算术运算且有边界保证的类型

haskell - 如何让 do block 提前返回?

django - 找不到满足 django 要求的版本(从版本 : ) No matching distribution found for django

api - 如何使用在沙盒中选择的 PayPal Payments Pro(使用 Pro 表示自己是商家)选项创建测试帐户?