getDatafilename返回不存在的目录
题
我无法将数据文件包装在Cabal Dist中。与 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