我无法将数据文件包装在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 就您而言,该程序将起作用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top