質問

データファイルを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