2016-08-18 1 views
1

Während des Spielens mit semver und semver-range war ich wegen widersprüchlicher Module Name stecken.Cabal nicht finden Quellen

Als vorübergehende Lösung habe ich den report des semver-Bereichs gegabelt, um Module umzubenennen (der erste Versuch ist verfügbar here). Ich habe alle Module Data.SemVer* durch Data.SemVer.Range* umbenannt.

ich, nicht die Ordnerstruktur ändern, nur die Kabalen-Datei:

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

Der Versuch, das Projekt, das ich die folgende Fehlermeldung zu bauen haben:

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 

ich einen zweiten Versuch (verfügbar here). I umbenannt jedes Modul Data.SemVer* mit Data.SemVerRange*

Ich habe auch die Kabalen Datei umbenannt und src/Data/SemVer.hs-src/Data/SemVerRange.hs.

Dieser zweite Versuch hat gut funktioniert, aber ich bin gespannt, was ich beim ersten Versuch falsch gemacht habe.

Habe ich etwas offensichtlich übersehen?

Antwort

1

Ich bin ein wenig verwirrt über die genaue Abfolge der du getan hast umbenennt, aber trotzdem ... bei Ihrem ersten Versuch Sehen, sehe ich eine Datei, die

module Data.SemVer.Range.Types where 

jedoch den Dateinamen sagt ist src/Data/SemVer/Types.hs, die nicht übereinstimmt. Und deshalb würde es nicht funktionieren. Dateipfad stimmt nicht mit dem Modulpfad überein.

Wenn Sie einen Ordner mit dem Namen Range erstellt und die Dateien dorthin verschoben haben, sollte das funktionieren.

+0

Okay, vielen Dank! Es hat perfekt funktioniert. –