Cabal没有找到消息来源

时间:2016-08-18 08:31:07

标签: haskell cabal

在玩semversemver-range时,我因为模块名称冲突而陷入困境。

作为临时修复,我将semver-range repo分叉以重命名模块(第一次尝试可用here)。我按Data.SemVer*重命名了每个模块Data.SemVer.Range*

我没有更改文件夹结构,只更改了cabal文件:

Exposed-modules:     Data.SemVer.Range
other-modules:       Data.SemVer.Range.Parser
                   , Data.SemVer.Range.Types

尝试构建项目我有以下错误消息:

Building semver-range-0.2.0...
Preprocessing library semver-range-0.2.0...
cabal: can't find source for Data/SemVer/Range in src, dist/build/autogen

我做了第二次尝试(可用here)。我使用Data.SemVer*

重命名了每个模块Data.SemVerRange*

我还更改了cabal文件,并将src/Data/SemVer.hs重命名为src/Data/SemVerRange.hs

第二次尝试工作正常,但我很好奇第一次尝试时我做错了什么。

我是否错过了一些明显的东西?

1 个答案:

答案 0 :(得分:2)

我对你所做的重命名的确切顺序有点困惑,但无论如何......看看你的第一次尝试,我看到一个文件说

32

但是,文件名为module Data.SemVer.Range.Types where ,不匹配。这就是为什么它不起作用;文件路径与模块路径不匹配。

如果你创建了一个名为src/Data/SemVer/Types.hs的文件夹并将文件移到那里,那应该可以。