GetDataFilEname возвращает несуществующий каталог
Вопрос
Я не могу получить файлы данных, чтобы быть упакованными в кабину. Каталог, который производится с getDataFileName
не существует после установки пакета.
Main.hs:
module Main (
main
) where
import Paths_mypackage
main = do file <- getDataFileName "mydata.txt"
putStrLn file
print =<< readFile file
mypackage.cabal (сгенерированный Leksah после просмотра файла):
data-files: /Users/peter/Documents/haskell/mypackage/data/mydata.txt
mydata-dir: ""
Выход:
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
Решение
Строки в файле .cabal должны быть
data-files: mydata.txt
data-dir: data
Затем Cabal установит файл данных в соответствующем месте, /Users/peter/.cabal/share/mypackage-0.0.1/mydata.txt
В вашем случае, и программа будет работать.
Не связан с StackOverflow