Today when I tried to compile my code in Geany I got this error
Could not find module `Control.Monad.Reader':
it was found in multiple packages: monads-fd-0.1.0.1 mtl-1.1.0.2
Compilation failed.
I get the same for the Writer monad; I thought I should remove one of those packages, but I do not want to break other packages, so now what should I do, yesterday everything worked without any problem.
It looks like you have recently installed monads-fd
, perhaps as a dependency of something else you installed. Both monads-fd
and mtl
packages contain the module Control.Monad.Reader
, so GHC doesn't know which one to use when you compile some code that imports it. You need to resolve the ambiguity somehow:
-hide-package <package>
flag on the command line to hide one of the packages, or ghc-pkg hide <package>
. You may need to use ghc-pkg --user hide <package>
if the package was installed in your home directory (the default on some platforms). build-depends
field in your .cabal
file I encountered a similar problem recently, and it was suggested that I run ghc-pkg hide {x}
where '{x}' is the name of one of those packages. It worked in my situation.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.