10
我正在使用Yesod的網站上工作我有正常的生成運行,但我似乎無法可靠地填充我的數據庫。我有一個填充數據庫的第二個哈斯克爾程序,我已經把它添加到我的陰謀文件是這樣的:Cabal Multiple Executables
executable program
if flag(library-only)
Buildable: False
main-is: ../main.hs
hs-source-dirs: dist
build-depends: base
, myproject
, yesod-default
executable init
if flag(library-only)
Buildable: False
main-is: init.hs
hs-source-dirs: Init
build-depends: base
, directory
, persistent
, persistent-sqlite
, text
, myproject
, yesod-default
的問題是,當我運行「陰謀構建」不重建初始化時init.hs變化。我需要做些什麼才能做到這一點?
下面是一個例子終端會話(編輯init.hs後):
$ cabal build
Building myproject-0.0.0...
Preprocessing library myproject-0.0.0...
Registering myproject-0.0.0...
$ rm -rf dist/build/myproject/init
$ cabal build
Building myproject-0.0.0...
Preprocessing library myproject-0.0.0...
Registering myproject-0.0.0...
謝謝。
問題標題提到了多個可執行文件。是否有另一個可執行文件段在同一個cabal文件中沒有這個問題? – Heatsink 2012-07-31 17:49:23
你確定'init'沒有被重建嗎?如果你想把新的可執行文件放到其他地方,你必須在'dist/build'下查看新的可執行文件,或者運行'cabal install'。 – 2012-07-31 18:51:08
我已經更新了上面的cabal片段。當我修改init.hs(它位於Init /目錄內)時,它不會重新編譯任何東西。 cabal運行並退出,沒有任何ghc調用。我有dist/build中用於運行代碼的可執行文件的符號鏈接。 – Gregory 2012-08-01 02:42:35