我正在研究真实世界中的Haskell,并试图通过简单运行从untar [ed]软件包中安装regex-posix-0.95.2
cabal install
然后我看到:
Text/Regex/Posix/Wrap.hsc:141:1: error:
Could not find module ‘Text.Regex.Base.RegexLike’
There are files missing in the ‘regex-base-0.93.2’ package,
try running 'ghc-pkg check'.
Use -v to see a list of the files searched for.
|
141 | import Text.Regex.Base.RegexLike(RegexOptions(..),RegexMaker(..),RegexContext(..),MatchArray)
尽管我可以使用
将其加载到ghci中Prelude> :module Text.Regex.Base.RegexLike
Prelude Text.Regex.Base.RegexLike>
Prelude> import Text.Regex.Base.RegexLike(RegexOptions(..),RegexMaker(..),RegexContext(..),MatchArray)
Prelude Text.Regex.Base.RegexLike>
并在模块系统中查看。
[warrick@warrick-pc regex-posix-0.95.2]$ ghc-pkg find-module Text.Regex.Base.RegexLike
/usr/lib/ghc-8.6.2/package.conf.d
regex-base-0.93.2
为什么会失败?
尝试调试您建议的阴谋失败时,有哪些更通用的提示和技巧(因为这是我在阴谋问题上始终遇到的许多问题之一)?
答案 0 :(得分:1)
这是一个链接问题。例如,某些发行版(例如Arch)默认情况下使用动态链接,没有静态库,但没有其他配置,cabal会尝试静态链接,这会导致您看到这种消息。有关更多信息:https://wiki.archlinux.org/index.php/Haskell