Frage

Ich kann keine Datendateien in einer Kabalendistel verpacken lassen. Das Verzeichnis, das mit produziert wird getDataFileName Nach der Installation des Pakets existiert nicht.

Main.hs:

module Main (
    main
) where

import Paths_mypackage

main = do file <- getDataFileName "mydata.txt"
          putStrLn file
          print =<< readFile file

mypackage.cabal (generiert von Leksah nach dem Durchsuchen der Datei):

 data-files: /Users/peter/Documents/haskell/mypackage/data/mydata.txt
 mydata-dir: ""

Ausgabe:

mypackage: /Users/peter/.cabal/share/mypackage-0.0.1/mydata.txt: openFile: does not exist (No such file or directory)
/Users/peter/.cabal/share/mypackage-0.0.1/mydata.txt
War es hilfreich?

Lösung

Die Zeilen in der .cabal -Datei sollten sein

data-files: mydata.txt
data-dir:   data

Dann installiert Cabal die Datendatei am entsprechenden Standort. /Users/peter/.cabal/share/mypackage-0.0.1/mydata.txt In Ihrem Fall funktioniert das Programm.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top