簡體   English   中英

haskell-stack:要加載的主模塊不明確

[英]haskell-stack: main module to load is ambiguous

我有多個名稱不沖突的可執行文件。 然而stack ghci抱怨主模塊不明確:

$ find . -type f -exec grep -Hi "apple\|banana" {} \; | grep -v work
./ambig.cabal:executable apple
./ambig.cabal:  main-is:             Apple.hs
./ambig.cabal:  ghc-options:         -main-is Apple.apple
./ambig.cabal:executable banana
./ambig.cabal:  main-is:             Banana.hs
./ambig.cabal:  ghc-options:         -main-is Banana.banana
./src/Apple.hs:module Apple (apple) where
./src/Apple.hs:apple :: IO ()
./src/Apple.hs:apple = putStrLn "I am apple"
./src/Banana.hs:module Banana (banana) where
./src/Banana.hs:banana :: IO ()
./src/Banana.hs:banana = putStrLn "I am banana"
$ stack ghci
The main module to load is ambiguous. Candidates are: [...]
$ stack --version
Version 1.5.1, Git revision 600c1f01435a10d127938709556c1682ecfd694e

如何讓stack ghci加載所有這些不沖突的模塊?

完整的 cabal 文件:

$ cat ambig.cabal
name:                ambig
version:             0.1.0.0
build-type:          Simple
cabal-version:       >=1.10

executable apple
  hs-source-dirs:      src
  main-is:             Apple.hs
  ghc-options:         -main-is Apple.apple
  default-language:    Haskell2010
  build-depends:       base >= 4.7 && < 5

executable banana
  hs-source-dirs:      src
  main-is:             Banana.hs
  ghc-options:         -main-is Banana.banana
  default-language:    Haskell2010
  build-depends:       base >= 4.7 && < 5

我遇到了同樣的問題,如果我將我在我的項目中所做的轉換為您的項目,您應該能夠執行以下任一操作來選擇主模塊:

stack ghci --main-is ambig:exe:apple

stack ghci --main-is ambig:exe:banana

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM