我对为什么这不起作用感到困惑。
我有一个导入System.Directory的小程序。当我在命令行上使用runhaskell运行它时,它会编译并输出我期望的内容。
当我在堆栈中使用相同的程序时,我会收到一条消息
无法加载“System.Directory”的界面 它是隐藏包'directory-1.3.0.0'的成员。 使用-v查看搜索到的文件列表。
我不明白为什么它会与runhaskell
一起使用,但在我使用stack ghci
答案 0 :(得分:3)
根据您提供的信息,我只能尝试猜测......
我认为您已directory
(全局)安装了cabal install directory
或作为系统包 - 这可以解释runhaskell myscript.hs
的工作原理。
如果您使用stack
,则可以使用以下选项。
制作一个cabal包,将directory
添加到构建依赖部分,在项目目录中创建stack.yaml
并运行stack ghci
。
使用stack ghci --package=directory myscript.hs