我一直在尝试使用支持类似于cabal-dev的沙盒的cabal head。但是目前还没有支持cabal-dev ghci
的等效选项,而且根据官方网站的说法,下一个版本也不会支持。
是否有什么方法可以解决这个问题,并获得类似于cabal-dev ghci
的功能?
编辑(2013年8月):最近已经合并了cabal repl
补丁。 这个功能将成为下一个版本的一部分。
截至本文撰写时,没有易于使用的cabal-dev ghci
类似工具。 我们计划在未来添加cabal repl
命令 - 但是,目前Cabal HEAD中没有此功能。
同时,您可以尝试以下解决方法:
$ cd $YOUR_PACKAGE_DIR
# For GHC >= 7.6
$ ghci -no-user-package-db -package-db .cabal-sandbox/i386-linux-ghc-7.6.1-packages.conf.d
# For GHC < 7.6
$ ghci -no-user-package-conf -package-conf .cabal-sandbox/i386-linux-ghc-7.4.2-packages.conf.d
这并不会立即使得你的包的模块在ghci
中可用 - 你需要使用:l
或import
加载它们(在自定义预处理器和CPP存在的情况下,这可能会出现问题)。
cabal repl
命令可用:http://coldwa.st/e/blog/2013-08-21-Cabal-1-18.html 这意味着当你的 cabal 版本 >= 1.18 时,你只需在项目目录中键入 cabal repl
命令即可使用沙盒(如果已启用)。 - Sven Koschnicke
cabal-dev ghci
替代品。 Duncan计划在某个时候合并Sam Anklesaria的GSoC 2011补丁,实现cabal repl
(他已经合并了一些准备工作),但是目前它们还没有被合并到HEAD中。一旦实现了cabal repl
,沙盒也将支持它。 - Mikhail Glushenkov