在多个包中找到Control.Monad.State haskell
在评估Haskell模块中的行“import Control.Monad.State”时,GHC给出以下错误:在多个包中找到Control.Monad.State haskell,haskell,cabal,hackage,Haskell,Cabal,Hackage,在评估Haskell模块中的行“import Control.Monad.State”时,GHC给出以下错误: 如何解决此冲突?两个包都实现了Control.Monad.State,而GHC不知道应该选择哪个实现,因此您需要对GHC隐藏其中一个包。看起来,-ignore-packageGHC标志可能对您有所帮助。您有几个选项。要么: ghc包装隐藏单子fd。这将导致GHC和GHCi在默认情况下忽略存在的monads fd,直到您稍后GHC pkg公开monads fd,但由Cabal安装的软件
如何解决此冲突?两个包都实现了Control.Monad.State,而GHC不知道应该选择哪个实现,因此您需要对GHC隐藏其中一个包。看起来,
-ignore-package
GHC标志可能对您有所帮助。您有几个选项。要么:
。这将导致GHC和GHCi在默认情况下忽略存在的ghc包装隐藏单子fd
,直到您稍后monads fd
,但由Cabal安装的软件仍能够针对它进行构建GHC pkg公开monads fd
- 使用
pragma,并将导入语句更改为{-#语言包imports}
import“mtl”Control.Monad.State
- 使用Cabal构建项目,并在
行中指定build dependens
mtl
这些都假设您想要的是
mtl
模块,而不是monads fd
模块;否则就换掉它们。谢谢你的回答,我也遇到了同样的问题,我不知道该怎么办。
Could not find module `Control.Monad.State':
it was found in multiple packages: monads-fd-0.0.0.1 mtl-1.1.0.2
Failed, modules loaded: none.