通过堆栈exec公开包

时间:2016-06-02 07:37:10

标签: haskell haskell-stack

我一直在尝试构建并运行需要访问ghc包的应用程序,但我无法通过stack公开它。

我知道这应该是一个简单的标志-package ghc但是如何用堆栈做到这一点?

我试过这个: stack exec Engine-exe --package ghc-7.10.3 -- core

我明白了:

Didn't see ghc-7.10.3 in your package indices.
Updating and trying again.
Fetching package index ...remote: Counting objects: 1, done.
remote: Total 1 (delta 0), reused 1 (delta 0), pack-reused 0
Unpacking objects: 100% (1/1), done.
Fetched package index.
The following package identifiers were not found in your indices: ghc-7.10.3
Perhaps you meant gc, ghci, ght, or lhc?

我还尝试将其构建为:stack build --ghc-options -package ghc 并获得相同的结果。

2 个答案:

答案 0 :(得分:2)

如果您的应用需要针对ghc进行构建,请将其添加到您的cabal文件中的build-depends。如果您的应用程序需要运行ghc可执行文件,那么它将在stack exec内显示。

因此,如果您的项目使用的是ghc-7.10.3,那么正确的ghc版本应该在PATH上。

如果您希望stack exec使用与配置不同的解析程序或编译器,请执行stack --resolver lts-6.0stack exec --compiler ghc-7.10.3

答案 1 :(得分:0)

我忘了这件事!

供将来参考。

最后,我所要做的只是ghc-pkg expose ghc