私は次の構造のパッケージを持っています(わかりました、これは大幅に簡略化されていますが...)
app/
src/
Main.hs
data/
data.txt
app.cabal
Paths_app.hs
Setup.hs
Paths_app.hsには次のものがあります。
module Paths_app where
getDataFileName :: FilePath -> IO FilePath
getDataFileName = return
そしてMain.hsで私は持っています:
module Main where
import Paths_app
main = do
file <- getDataFileName "data/data.txt"
data <- readFile file
putStrLn $ "Your data is: " ++ data
app.cabalファイルの関連部分は次のようになります。
name: app
version: 1.0
build-type: Simple
data-files: data/data.txt
executable foo
build-depends: base, haskell98
main-is: Main.hs
hs-source-dirs: src
これは正常にビルドされますが(cabal configure
その後に続くを使用cabal install
)、実行可能ファイルはdata.txtファイルが見つからないと文句を言います。回線を入れ替えてみました
file <- getDataFileName "data/data.txt"
と
file <- getDataFileName "data.txt"
しかし、同じことが起こります。私が間違っていることは明らかですか?