我無法將數據文件打包到cabal dist中。在安裝軟件包後,使用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文件中,請勿使用絕對路徑。所有的數據文件都應該位於軟件包目錄下,並由相對路徑引用。 – 2012-02-16 14:29:37
啊,我應該提到,cabal文件是由Leksah生成的。我會將其添加到帖子中(並且我會嘗試手動編輯它以查看它是否以這種方式工作)。 – 2012-02-16 14:30:45
沒有沒有幫助。目錄'〜/ .cabal/share/mypackage-0.0.1 /'仍然不存在。 – 2012-02-16 14:34:43