getDataFileName restituisce una directory inesistente
Domanda
Non riesco a ottenere i file di dati da confezionare in un dist cabala. La directory che viene prodotto con getDataFileName
non esiste dopo l'installazione del pacchetto.
Main.hs:
module Main (
main
) where
import Paths_mypackage
main = do file <- getDataFileName "mydata.txt"
putStrLn file
print =<< readFile file
mypackage.cabal (generato da Leksah dopo la navigazione per il file):
data-files: /Users/peter/Documents/haskell/mypackage/data/mydata.txt
mydata-dir: ""
Output:
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
Soluzione
Le righe nel file .cabal dovrebbero essere
data-files: mydata.txt
data-dir: data
Poi Cabal installerà il file di dati nella posizione appropriata, /Users/peter/.cabal/share/mypackage-0.0.1/mydata.txt
nel tuo caso, e il programma funzionerà.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow