首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >haskell-stack:要加载的主模块不明确

haskell-stack:要加载的主模块不明确
EN

Stack Overflow用户
提问于 2017-09-10 03:12:21
回答 1查看 398关注 0票数 2

我有多个名称不冲突的可执行文件。然而stack ghci抱怨说,主模块是模棱两可的:

代码语言:javascript
复制
$ 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文件:

代码语言:javascript
复制
$ 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
EN

回答 1

Stack Overflow用户

发布于 2019-12-24 04:20:53

我遇到了同样的问题,如果我将我在我的项目中所做的转换到您的项目中,您应该能够执行这些操作中的任何一个来选择主模块:

代码语言:javascript
复制
stack ghci --main-is ambig:exe:apple

代码语言:javascript
复制
stack ghci --main-is ambig:exe:banana
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46134228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档