如何创建 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 项目的替代工具(更好,如果您问我 :))。
我想为 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 项目的替代工具(更好,如果您问我 :))。