2016-08-18 61 views
1

在玩semversemver-range時,由於模塊名稱衝突,我被卡住了。Cabal找不到消息

作爲臨時修復,我將semver-range repo分叉爲重命名模塊(第一次嘗試可用here)。我通過Data.SemVer.Range*將每個模塊Data.SemVer*更名爲。

我沒有改變文件夾結構,只是小集團文件:

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/SemVerRange.hs

這第二次嘗試很好,但我很好奇我在第一次嘗試中做了什麼錯誤。

我錯過了一些明顯的東西嗎?

回答

1

我有點困惑的命名已你所做的精確序列,但無論如何...看你的第一次嘗試,我看到說

module Data.SemVer.Range.Types where 

但是一個文件,文件名是src/Data/SemVer/Types.hs,它不匹配。這就是爲什麼它不起作用;文件路徑與模塊路徑不匹配。

如果您已經創建了一個名爲Range的文件夾並將文件移動到那裏,那應該有效。

+0

好的,非常感謝!它工作完美。 –