簡體   English   中英

找不到模塊“ Control.Monad.Reader”

[英]Could not find module `Control.Monad.Reader'

今天,當我嘗試在Geany中編譯代碼時,出現了此錯誤

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.

我對Writer monad也是如此; 我以為我應該刪除其中一個軟件包,但我不想破壞其他軟件包,所以現在我該怎么辦,昨天一切正常。

看來您最近安裝了monads-fd ,也許是對您安裝的其他產品的依賴。 monads-fdmtl軟件包都包含模塊Control.Monad.Reader ,因此,GHC在編譯某些導入代碼時不知道要使用哪個模塊。 您需要以某種方式解決歧義:

  • 如果您直接使用GHC或GHCi
    • 在命令行上使用-hide-package <package>標志來隱藏其中一個程序包,或者
    • 默認使用ghc-pkg hide <package>隱藏該軟件包。 如果軟件包安裝在主目錄中(某些平台上的默認設置),則可能需要使用ghc-pkg --user hide <package>
  • 您可以使用Cabal,並使用.cabal文件中的build-depends字段.cabal您依賴哪個沖突軟件包。

最近我遇到了類似的問題,建議我運行ghc-pkg hide {x} ,其中“ {x}”是這些軟件包之一的名稱。 它在我的情況下有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM