Haskell Stack 构建特定的可执行文件

Eli*_*iuX 6 binary executable haskell build haskell-stack

如何构建特定的堆栈可执行文件,即。中指定的那些projectname.cabal,例如:

executable executable-name
  hs-source-dirs:      tools
  main-is:             ExecutableModule.hs
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
  build-depends:       base
                     , hsass
                     , hlibsass
Run Code Online (Sandbox Code Playgroud)

我需要编译executable-name,没有其他。它会是这样的:

stack build --executable executable-name
Run Code Online (Sandbox Code Playgroud)

Zet*_*eta 5

堆栈使用基于组件的查找,例如

stack build packagename:component-type:component-name
Run Code Online (Sandbox Code Playgroud)

因此,如果您的包名为“foo”,而您的可执行文件名为“bar”,则可以使用

stack build foo:exe:bar
Run Code Online (Sandbox Code Playgroud)

但是,如果 component-name 是唯一的,则可以删除包的名称和组件类型。所以如果你的可执行文件被称为“exectuable-name”,它是

stack build :executable-name
Run Code Online (Sandbox Code Playgroud)