Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 在沙箱中安装了parsec,但可以';尝试在ghci中加载文件时找不到库_Haskell_Ghc_Cabal - Fatal编程技术网

Haskell 在沙箱中安装了parsec,但可以';尝试在ghci中加载文件时找不到库

Haskell 在沙箱中安装了parsec,但可以';尝试在ghci中加载文件时找不到库,haskell,ghc,cabal,Haskell,Ghc,Cabal,tl;dr:安装了带有cabal沙箱的库,ghci仍然抱怨库丢失 我有一个目录,在那里我正在开发一些Haskell的东西。这在另一台使用ghc 7.6的计算机上可以正常工作,但现在我在另一台使用ghc 7.8.2的计算机上工作(我不知道版本是否重要),我会遇到如下错误: 前奏曲>:l解释器.hs 解析器.hs:9:8: 找不到模块“Text.parsercompbinators.Parsec” 也许你的意思是 Text.ParserCombinators.ReadPrec(从基) Text.Pa

tl;dr:安装了带有cabal沙箱的库,ghci仍然抱怨库丢失

我有一个目录,在那里我正在开发一些Haskell的东西。这在另一台使用ghc 7.6的计算机上可以正常工作,但现在我在另一台使用ghc 7.8.2的计算机上工作(我不知道版本是否重要),我会遇到如下错误:

前奏曲>:l解释器.hs

解析器.hs:9:8: 找不到模块“Text.parsercompbinators.Parsec” 也许你的意思是 Text.ParserCombinators.ReadPrec(从基) Text.ParserCombinators.ReadP(从基) 使用-v查看搜索的文件列表

尝试从ghci加载文件时。这些文件位于BASE/src/Lib中,其中BASE是包含Lib.cabal和所有这些文件的目录。所以我想是阴谋集团出了什么事。为了避免可怕的“阴谋集团地狱”,我在项目中制作了一个沙盒(
cabalsandboxinit
),这是我以前从未使用过的。然后我手动删除了其他与阴谋集团相关的东西,并执行了
cabalinit
。我确实安装了
阴谋集团--只安装了依赖项
,但实际上并没有安装任何东西(我猜是因为--只安装了依赖项?我太偏执于全局安装,以至于无法使用常规阴谋集团安装)。因此,我尝试手动将内容添加到我的
.cabal
文件中(您应该这样做吗?),即:

构建取决于:


base>=4.7&&=0.5&&ghc/ghci不会自动意识到沙箱。默认情况下,它们只查看全局和用户包数据库


可以使用
cabalrepl
启动ghci,也可以遵循我文章中的回复。两者都可能需要一个最近的(1.18后)阴谋集团。

太好了,我升级到了阴谋集团五号。1.19现在一切都很顺利。顺便说一句,我没有发现任何关于ghc忽略沙箱的提及;文档似乎只关注如何使用沙盒构建库,而不是如何使用沙盒进行开发。这里有我遗漏的东西吗?您可以不直接调用ghc进行开发:cabal repl、cabal build等。
containers >=0.5 && <0.6,

-- 

parsec == 3.1.* -- THIS is the line I added